java的 buffer equal_java 中String equal 和==的区别,以及StringBuffer

网上关于String的equals和==的资料挺多的,昨天看到好多文章都有错 ,自己一定要运行代码确认辨别。就简单总结以下,希望能帮助到大家,如果有错误欢迎指出,大家互相学习,共同进步。

个人总结:equals是比较值是否相同,==则比较的是引用地址是否相同。

package com.char3;

public class StringTest {

/**

* StringBuffer 是可变的字符序列的类似字符串的对象,对其进行改变时返回对同一实例的引用

* 代码运行结果:

* is equal true

* is == true

* 说明:sb和sb1是同一个引用地址

*/

public static void useStringBuffer(){

StringBuffer sb = new StringBuffer("sb你好");

StringBuffer sb1= sb.append(",陈瑞");

System.out.println("is equal "+sb.equals(sb1));

System.out.println("is == " + (sb==sb1));

}

/**

* String 创建对象s,吧s的引用传给str

* 代码运行结果:

* is equal true

* is == true

* 说明:s 和str 的值相同,引用地址也相同

*/

public static void useString(){

String s = "你好";

String str = s ;

System.out.println("is equal "+s.equals(str));

System.out.println("is == "+(s == str));

}

/**

* String 创建str1的时候把“nihao”放在常量池中,当创建str2的时候先去常量池中查看是否有相同的常量值,如果存在则吧常量的引用给str2

* 代码运行结果:

* is equal true

* is == true

* 说明:str1和str2的值相同,引用地址也相同

*/

public static void useString1(){

String str1="nihao";

String str2 = "nihao";

System.out.println("is equal "+str1.equals(str2));

System.out.println("is == "+(str1==str2));

}

/**

* String创建的字符串 是不可变的,str表面看是对s的修改,其实质没修改原字符串,而是新建了字符串对象str

* 一下的代码运行结果:

* is equal false

* is == false

* 说明:s 和 str 值不等,引用地址也不用

*/

public static void useString2(){

String s = "你好";

String str = s+"chenrui" ;

System.out.println("is equal "+s.equals(str));

System.out.println("is == "+(s == str));

}

public static void main(String[] args) {

useStringBuffer();

useString();

useString1();

useString2();

}

}网上关于String的equals和==的资料挺多的,昨天看到好多文章都有错 ,就简单总结以下,希望能帮助到大家,如果有错误欢迎指出,大家互相学习,共同进步。 个人总结:equals是比较值是否相同,==则比较的是引用地址是否相同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值