java integer String之equals vs ==

Integer a = new Integer(123);
Integer b = new Integer(123);

System.out.println(a == b);
System.out.println(a.equals(b));

System.out.println(a.equals(123));
System.out.println(a == 123);

输出

false
true
true
true

String a = new String("nihao");
String b = new String("nihao");

System.out.println(a==b);
System.out.println(a.equals(b));

System.out.println(a=="nihao");
System.out.println(a.equals("nihao"));

输出

false
true
false
true

时间: 2024-12-22 01:11:28

java integer String之equals vs ==的相关文章

java:String使用equals和==比较的区别

"=="操作符的作用 1.用于基本数据类型的比较 2.判断引用是否指向堆内存的同一块地址. equals所在位置: 在Object类当中,而Object是所有类的父类,包含在jdk里面,但并不适合绝大多数场景,通常需要重写 public boolean equals(Object obj) { return (this == obj); } equals的作用: 用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型 equals的基本使用: boolean

java中String的equals()和 ==

1 String a=new String("java"); 2 String b=new String("java"); 3 System.out.println(a.equals(b));//true 4 System.out.println(a==b);//false 5 String d="java"; 6 String e="java"; 7 System.out.println(d.equals(e));//tru

关于java的String的equals()

一直以为String的equals()是百分百准确能判断字符串是否相等的,直到今天遇到的情况: String value = 从properties文件取得的值. idea的debug看value="server" 然后if("client".equals(value)){ sout("hello"); } 竟然真的判断client跟server两字符串相等.... 闹了半天, String tempValue = String.valueOf(

【Java】整理关于java的String类,equals函数和比较操作符的区别

初学 Java 有段时间了,感觉似乎开始入了门,有了点儿感觉但是发现很多困惑和疑问而且均来自于最基础的知识折腾了一阵子又查了查书,终于对 String 这个特殊的对象有了点感悟大家先来看看一段奇怪的程序: public class TestString {       public static void main(String[] args) {           String s1 = "Monday";           String s2 = "Monday&qu

【Java】Java里String 的equals和==

Java里面有对象和对象的引用的概念,在String方面,==比较的是引用,equals比较的是对象的具体值. String s1 = new String("abc");String s2 = new String("abc");System.out.println(s1 == s2);System.out.println(s1.equals(s2)); 上面的代码将打印一个false和一个true.这个很容易理解,原因就是s1和s2分别是两个不同String对象

java的String的equals方法和"=="比较

package stringTest; public class StringDemo { public static void main(String[] args){ //下面两种方法定义的字符串是不一样的 String s1 = new String("abc"); String s2 = "abc"; String s3 = "abc"; //s2和s3指向常量池中同一个区域 /** * String类中的equals方法,复写了Obje

Java Integer(-128~127)值的==和equals比较产生的思考

最近在项目中遇到一个问题,两个值相同的Integer型值进行==比较时,发现Integer其中的一些奥秘,顺便也复习一下==和equals的区别,先通过Damo代码解释如下: [java] view plain copy System.out.println("<-128~127以内的Integer值,Integer x = value;的方式赋值!>"); Integer i = 127; Integer j = 127; System.out.println("

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String

1.错误描写叙述 java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String service.impl.ArrivalBillServiceImpl.exportBillExcel(BillServiceImpl.java:266) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.Na

Java中String.equals()方法的实现代码

java中String类里的String.equals()方法: 源代码: public boolean equals(Object anObject) { //如果是同一个对象 if (this == anObject) { return true; } //如果传递进来的参数是String类的实例 if (anObject instanceof String) { String anotherString = (String)anObject; int n = count;//字符串长度 i