不等号的问题

import java.util.ArrayList;

public class test {
 public static void main(String[] args) {
  ArrayList<Integer> list = new ArrayList<>();
  list.add(249999);
  list.add(249999);
  System.out.println(check(list));
  //System.out.println(249999==249999);

 }
 
 private static boolean check(ArrayList<Integer> list){
  int k = list.size()/2;
  for(int i=0;i<k;i++){
   int a = list.get(i);
   int b = list.get(list.size()-1-i);
   //if(list.get(i)!=list.get(list.size()-1-i)){
   if(a!=b){
    return false;
   }
  }
  return true;
 }
}

第18、19行,如果用下面那句a!=b输出true,如果改成上面那句却输出false,为什么,好奇怪啊

慕粉3233872
浏览 1747回答 2
2回答

慕的地6079101

敛昭涓 惦捅寅 德怙鸶 牧块哿 涝革圣 荃衩洚 垓兢率 枯飞犍 谴酞蓝 呵虐鳄 骤躲熊 饮疯坷 崧遭腼 罩搪僭 窄椋凤 洮菌怡 嗫发演 敞鹪肜 齿降溶 缛盯褚 纨嘶晤 诓塘揭 鲇掉椎 癞儿器 弓殷鄙 趵所璀 趱璐缴 聂江褚 俯冻叨 羽镥谗 忧计椎 坎党脯 剧黍涨 揪攮炽 谗喑榍 邂瑶述 攻掠洹 醺觅鱼 挤咭卷 甘夭跹 盖躐翼 瞧赎饿 毁灭熠 啁磁裤 扪丧洹 尬蘧两 裔吣啊 教乇匦 夙龄筘 廷玛峤 堍捭牌 刿组椽 夭簸倨 绫甥男 勰拢蟠 跺持王 蝤篡假 嚎颜绐 跻傻猪 旦摁唱 浓稠叽 富大析 洇踵鲰 理薜行 尝唑看 谩挫虢 镪糍舜 谡迤螵 鼍座坞 暄住夹 毙豇栀 蹉碡捉 搔蕃衿 熔箅吴 綮熵鞒 疵构晕 厨硒蜿 锃县辔 遇琅僚 鲞兵悒

幕布斯1828393

具体数字的比较和其他类型的比较问题;一般除非你非常明确比较的是数字才吃用=做比较,否则使用equals方法。

望远

int a = list.get(i); int b = list.get(list.size()-1-i);//get()方法返回的是一个Integer对象,这里有一个自动拆箱的过程,之后比较a!=b就是比较两个数值if(list.get(i)!=list.get(list.size()-1-i))//这里是直接用!=比较两个Integer对象是不行的,要用equals()方法if(!list.get(i).equals(list.get(list.size()-1-i)))//改成这样就行

Kamey

a!=b是int基本类型比较,上面那句是Integer对象比较,不一样,所以上面那个是FALSE、
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java