java equals 中文_Java equals比较方法(Java StringEquals)

//package Main;

/**

* @time:2019/04/14

* @role:东方神祇(杨)

* 在我们平时需要对某两个数据进行比较是否相同的时候

* 往往是采用 “==” 运算符来进行的;

* 而这种比较方法一般是对数值类型进行比较,也非常都有效好用;

* 但是如果用于字符串的比较有时候就不是那么如意,

* 因为 “==” 比较原理是对其内存地址的比较,而字符串则存在

* 实例化对象字符串和普通字符串,而数值型则不行

* 例如:String str = "yangmufahaoshuai" ;

* String str1 = new String("yangmufahaoshuai") ;

* 此时通过直接赋值的 “str” 字符串变量 和 通过new实例化对象方式赋值的 “str1” 字符串变量,

* 他们俩的内存存放位置明显不一样如果使用 “==” 运算符以内存地址方式相比显然不可能相等,

* 而int等数值类型不能像String类型这样通过new来进行赋值;

* 例如:int a=9 ;

* int a1 = new int(5) ;

* 此时是语法错误的,所以只能通过 “==” 来进行比较和赋值操作‘

* 既然如此那么对于String类型得比较问题,则采用内部提供的 “ eauals() ” 方法,就得已解决;

* 此方法其原理是对其内容的比较而并非内存地址,详情如下:

*/

public class StringEquals {

public static void main(String args[]){

String info = "yangmufa" ;

String info1 = info+"haoshuai" ; // 此时为运行时常量池

String str = "yangmufahaoshuai" ;

String str1 = new String("yangmufahaoshuai") ;

String str2 = new String("yangmufahaoshuai").intern() ;

System.out.println(str.equals(str1)) ; // True

System.out.println(str==str1) ; //False

System.out.println(str==str2) ; //True 2采用intern方法自动入池而直接赋值也是在入池

System.out.println(str==info1); // 此时为静态池与运行时常量池的地址比较

//int a=9 ;

//int a1 = new int(5) ;

String a ="yyy" ;

String b= null ;

// System.out.println(b.equals(a)); //NullPointerException

//equals带有判断null的功能,所以只要将字符串常量写在前面就不会出现NullPointerException

System.out.println("yyy".equals(b)) ; //false

System.out.println("yyy".equals(a)) ; //true

}

}

/**

* 注:jdk1.8及以前对于String其底层是采用char数组进行包装

* 而 在jdk1.9及以后则改为byte

*/

/*-------------------反爬声明o(*▽*)咻咻咻--------------------

作者:版权声明:本文为博主倾情原创文章,整篇转载请附上源文链接!

如果觉得本文对你有所收获,你的请评论点赞 与

合理优质的转发也将是鼓励支持我继续创作的动力,

更多精彩可百度搜索 杨木发 或:

坚持创作 善于总结 开源共享 高质进步。

-------------------反爬声明o(*▽*)咻咻咻--------------------*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值