java integer 相等,java基本对象Integer,String比较相等及equal案例说明

Integer i = new Integer(100);

Integer i2 = new Integer(100);

if(i == i2){

System.out.println("AAAAAAAAAA");

}

if(i.intValue() == i2.intValue()){

System.out.println("BBBBBBBBBB");

}

String i3 = "100";

String i4 = "100";

if(i3.equals(i.toString())){

System.out.println("CCCCCCCCCC");

}

if(i3 == i.toString()){

System.out.println("DDDDDDDDDD");

}

if(i3 == i4){

System.out.println("EEEEEEEEEE");

}

String i5 = new String("100");

String i6 = new String("100");

if(i5 == i6){

System.out.println("FFFFFFFFFF");

}

以上输出结果为:

BBBBBBBBBB

CCCCCCCCCC

EEEEEEEEEEE

String 的equals 方法用于比较两个字符串是否相等。由于字符串是对象类型,所以不能用简单的“==”判断。而使用equals比较两个对象的内容是否相等。

注意:

equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。

输出EEE的原因:

如果是字符串常量的话...用“==”并不影响结果的。

因为在java中有个常量池,所有的字符串常量都在一起。任意多个相同的字符串,在内存中只会有一个实体。所有你用equal或==,结果都是一样的,他们是一一对应关系。。!

Java中关于Integer, String 类型变量 == 与 equals 判断的坑

== 与 equals()的联系: ==: 我们都知道Java中 == 对用于基础数据类型(byte, short, int, long, float, double, boolean, char)判 ...

Java常见对象之String

String类的概述 String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现.字符串是常量,一旦被赋值,就不能被改变. String ...

java对象转换String类型的三种方法

在很多情况下我们都需要将一个对象转换为String类型.一般来说有三种方法可以实现:Object.toString().(String)Object.String.valueOf(Object).下面 ...

java对象Integer不能引用传递

java对象Integer不能引用传递 /** * The value of the Integer. * * @serial */ private ...

Java 常用对象-String类

2017-11-02 20:02:06 String:代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能 ...

Java中JNI的使用详解第四篇:C/C++中创建Java对象和String字符串对象及对字符串的操作方法

首先来看一下C/C++中怎么创建Java对象:在JNIEnv中有两种方法是用来创建Java对象的: 第一种方法: jobject  NewObject(jclass clazz  , jmethodI ...

java面向对象---对象容器

泛型类--ArrayList<>; 2.对象数组中的每个元素都是对象的管理者而并非对象本身!!!!! 3.java类的基本数据类型 基本数据类型 包装类 byte Byte short S ...

随机推荐

梳理一下JS的基本语法

web三层结构来说 结构层:HTML         从语义角度,描述页面结构 样式层:CSS         从审美的角度,美化页面 行为层:JavaScript   从交互的角度,提升用户体验   ...

查看SQL Server 备份信息

RESTORE HEADERONLY FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Back ...

PHP&amp&semi;nbsp&semi;支持的协议/封装协议列表

附录 L. 支持的协议/封装协议列表 目录 文件系统 Socket HTTP 和 HTTPS FTP 和 FTPS PHP 输入/输出流 压缩流 Secure Shell 2 音频流  以下是 PHP ...

javascript——可以判断值的类型的函数

function classof(o){ return Object.prototype.toString.call(0).slice(8,-1); } Function.prototype.getN ...

Qt之操作Excel

Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件. ...

MySQL命令,一篇文章替你全部搞定

MySQL命令,一篇文章替你全部搞定 MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等.而这两个方面又 ...

python2&period;7安装pip遇到ImportError&colon; cannot import name HTTPSHandle

python2.7,报错如下: Traceback (most recent call last): File "/usr/local/bin/pip", line 9, in & ...

Java的Finalizer引发的内存溢出

本文介绍的是Java里一个内建的概念,Finalizer.你可能对它对数家珍,但也可能从未听闻过,这得看你有没有花时间完整地看过一遍java.lang.Object类了.在java.lang.Obje ...

BZOJ2612 &colon; &lbrack;Poi2003&rsqb;Sums

设d[i]表示能拼出的x中满足x%a[0]=i的最小的x,其中d[0]=0. 若d[x%a[0]]<=x,则一定可以拼出x,否则一定不可以. 建出带权有向图,点的标号从0到a[0]-1,i号点向 ...

php截取中文字符串 GB2312 utf-8

UTF-8截取中文字符串 function Cn_Substr($string, $length) { preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
比较基本类型对象是否相等时可以创建一个工具封装这个逻辑。以下是一个示例的工具类实现: ```java public class EqualityUtil { public static boolean areEqual(Object obj1, Object obj2) { ifobj1 == null && obj2 == null) return true; } if (obj == null || obj2 == null) { false; } if (obj1.getClass().isArray() && obj2.getClass().isArray()) { return Arrays.deepEquals(new Object[]{obj1}, new Object[]{obj2}); } return obj1.equals(obj2); } } ``` 这个工具类包含了一个静态方法`areEqual()`,用于比较两个对象是否相等。它考虑了以下几种情况: 1. 如果两个对象都为null,则认为它们相等。 2. 如果其中一个对象为null,另一个不为null,则认为它们不相等。 3. 如果两个对象都是数组类型,则使用`Arrays.deepEquals()`方法进行深度比较。 4. 对于其他情况,使用对象的`equals()`方法进行比较。 使用示例: ```java public class Main { public static void main(String[] args) { Integer num1 = 5; Integer num2 = 5; System.out.println(EqualityUtil.areEqual(num1, num2)); // 输出: true String str1 = "Hello"; String str2 = "Hello"; System.out.println(EqualityUtil.areEqual(str1, str2)); // 输出: true String str3 = "Hello"; String str4 = "World"; System.out.println(EqualityUtil.areEqual(str3, str4)); // 输出: false Object obj1 = null; Object obj2 = null; System.out.println(EqualityUtil.areEqual(obj1, obj2)); // 输出: true Object obj3 = null; Object obj4 = "Hello"; System.out.println(EqualityUtil.areEqual(obj3, obj4)); // 输出: false } } ``` 希望这个工具类能够满足您的需求!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值