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 @   littlewrong  阅读(442)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2018-03-21 ASP.NET Core开源地址
2016-03-21 SQL Server 监控统计阻塞脚本信息
点击右上角即可分享
微信分享提示