Java基本类型和包装类什么情况下判断相等(“==“或“equals“)?

Java中判断两个变量是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals方法。如果变量是基本类型,那么使用 == 和使用equals会得到相同的结果,都是判断变量的值是否相对。

如果变量是引用类型,== 运算符判断变量是否指向同一引用对象,equals判断变量"值"是否相等。

Java值类型对应的包装类(boolean、byte、short、int、long、float、double、charcater)可以利用 == 运算符进行值判断。

Java为其提供了8种对应的包装类:Byte、Short、Integer、Long、Float、Double、Boolean、Character
常用方法:
Integer.parseInt(String s):将 String 类型转换成 int 类型
Boolean.parseBoolean(String s):将 String 类型转换成 Boolean 类型
Byte.parseByte(String s):将 String 类型转换成 Byte 类型
Short.parseShort(String s):将 String 类型转换成 Short 类型
Long.parseLong(String s):将 String 类型转换成 Long 类型
Float.parseFloat(String s):将 String 类型转换成 Float 类型
Double.parseDouble(String s):将 String 类型转换成 Double 类型

int inta = 65;
float floata = 65.0f;
Integer intb = 65;
Float floatb = 65.0f;
//inta == floata根据值判断,结果是true
System.out.println("inta == floata:" + (inta == floata));		
//inta == intb根据值判断,结果是true
System.out.println("inta == intb:" + (inta == intb));
//inta == floatb根据值判断,结果是true
System.out.println("inta == floatb:" + (inta == floatb));
 
String stra = "测试";
String strb = new String("测试");
String strc = new String("测试");
String strd = "测试";
//stra和strb指向不同的对象,结果是false
System.out.println("stra == strb:" + (stra == strb));
//stra和strd指向同一个对象,结果是true
System.out.println("stra == strd:" + (stra == strd));
//strb和strc指向不同的对象,结果是false
System.out.println("strb == strc:" + (strb == strc));
//strb和strc的值一样,结果是true
System.out.println("strb equals strc:" + (strb.equals(strc)));
//stra和strb的值一样,结果是true
System.out.println("stra equals strb:" + (stra.equals(strb)));
posted @ 2023-03-21 13:41  littlewrong  阅读(421)  评论(0编辑  收藏  举报