两个Integer比较大小需要注意的误区

通过下面的例子,来了解integer比较大小需注意的几点。

eg.定义Integer对象a和b,比较两者结果为:a不等于b

1 Integer a = 1;
2 Integer b = 1;
3 if(a==b){
4   System.out.print("a等于b");
5 }else{
6   System.out.print("a不等于b");
7 }

因为Integer是对象类型,虽然两者内容相同,但是两者是不同的两个对象,在虚拟机中完全是不相干的2个对象,指向不同的地址,所以这样比较的话,结果必然为false。

如果需要比较两个Integer类型的内容,需要调用intValue()方法来比较,例子如下:

eg.比较a,b的大小,结果为:a等于b

1 Integer a = 1;
2 Integer b = 1;
3 if(a.intValue() == b.intValue()){
4   Systemt.out.print("a等于b");
5 }else{
6   System.out.print("a不等于b");
7 }
时间: 2024-10-12 20:43:30

两个Integer比较大小需要注意的误区的相关文章

[百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数

一.问题来源及描述 今天看了July的微博,发现了七月问题,有这个题,挺有意思的. 数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置.如数组:[1,2,3,4,3,4,5,6,5],找到4在数组中的位置. 二.算法分析及实现 这道题目最差时间复杂度也是O(N)(递增或者递减的情况),所以重点在于能不能找到一种尽可能减少比较次数的方法.如数组:[1,2,3,4,3,4,5,6,5],找到4在数组中的位置.4和1比较,差为3,那么即使最好情况(递增或者递减)

两个 integer 值判断是否相等

1.如果比较Integer A a: Integer B b; 我们通常如下比较: if (null != a && null != b) { if(a.intValue() == b.intValue()) { // TODO } } 2.有没有工具类,可以直接比较两个Integer的值的大小的?而不是上面这种臃肿的代码. 补充:java中,用最简单的代码实现比较两个Integer的值是否相等,有什么好的实现方式? 答: Integer num1 = 259; Integer num2

两个字符串比较大小

两个字符串比较大小:    一.可以用compareTo()方法,另外还有compareToIgnoreCase(String) 忽略大小写及 compareTo(object string)这些 方法返回值是int, 以compareTo()方法为例:     1 .如果字符串相等返回值为0,不等返回其他数值. 比较方法是先比较对应字符的大小(Ascall吗顺序),从第一个字母开始比较.     2.如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)    

[经典面试题][百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数。

题目 数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置.如数组:[1,2,3,4,3,4,5,6,5],找到4在数组中的位置. 思路 这道题目最差时间复杂度也是O(N),所以重点在于能不能找到一种尽可能减少比较次数的方法. 如数组:[1,2,3,4,3,4,5,6,5],找到4在数组中的位置.4和1比较,差为3,那么即使最好情况(递增或者递减),4也就是在a[3]的位置,可以跳过a[1]a[2].这样在特定数组(目标值和a[1]相差很大)的情况下或许可以

比较两个整数的大小

比较两个整数的大小 说明:使用if条件从句比较两个整数的大小.使用传参方法时,需要对传参个数及传入的参数是否是整数进行判断. 思路 第一,先判断输入的是两个数,对输入个数进行判断: 第二,再判断输入的两个数是整数: 第三,最后比较两个数的大小. 脚本1如下 #!/bin/bash #write by wtf #date:2017-7-5 a=$1 b=$2 if [ $# -ne 2 ];then echo "Please enter two Numbers!" exit 1 fi e

PHP中比较两个时间的大小与日期的差值

在这里我们全用到时间戳 mktime(hour,minute,second,month,day,year,[is_dst])     其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的当前值. 参数 描述 hour 可选.规定小时. minute 可选.规定分钟. second 可选.规定秒. month 可选.规定用数字表示的月. day 可选.规定天. year 可选.规定年.在某些系统上,合法值介于 1901 – 2038 之间.不过在 php教程 5 中已经不存在这个限制

JS 判断两个数字的大小

今天使用 Javascript 比较两个数字的大小,发现了 19 > 100 的现象,什么原因呢? 解决: var 定义的变量默认是字符串,比较两个字符串变量和比较两个数字的规则不同.所以应该先把字符串转化成数字,再去比较大小,如下代码: var counts = $("input[name='counts']").val(); var realCounts = $("input[name='realCounts']").val(); // 错误的比较方法 i

比较两个日期的大小

1 /** 2 * 比较两个日期字符串的大小 3 * @param date1 第一个日期 4 * @param date2 第二个日期 5 * @return 比较结果:返回2表示第二个时间在第一个时间之前:返回1表示第一个时间在第二个时间之前:返回0表示两个时间相同 6 */ 7 public static int compare_dateStr(String date1, String date2,String formatStr) { 8 DateFormat df = new Simp

比较两个数的大小,自定义比较两个整数的大小的方法

比较两个数的大小,自定义比较两个整数的大小的方法: 如果第一个数大,返回1 如果相等返回0 如果第一个数小,返回-1 在Main()方法中输入两个数,调用这个方法 示例: 请输入两个数: 45 56 第二个数大 按任意键继续...... 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 n