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();
}
} ---------------------
作者:chenrui_
来源:CSDN
原文:https://blog.csdn.net/jijijiujiu123/article/details/18631647

最新文章

  1. NLua - 基于Lua的C#脚本引擎
  2. 1236 - Pairs Forming LCM -- LightOj1236 (LCM)
  3. vsftpd 修改默认目录
  4. WebForm控件之DropDownList
  5. data type Migration from MySQL to PostgreSQL
  6. android 常用selector 颜色搭配(按钮、显示圆角等)
  7. SQL技术内幕-6 rank()over(order by XX COLLATE) 的用法
  8. Windows7 下配置添加ASP功能
  9. APCS
  10. ios打包ipa的四种实用方法
  11. 2014-07-29 浅谈MVC框架中Razor与ASPX视图引擎
  12. 【Python】排列组合itertools & 集合set
  13. 用Ajax遍历三级下拉框
  14. spring-boot-maven-plugin插件的作用
  15. 文件IO流完成文件的复制(复杂版本主要用来演示各种流的用途,不是最佳复制方案哦)
  16. 基于URL的高层次Java网络编程
  17. AndroidStudio下加入百度地图的使用 (三)——API基本方法及常量属性
  18. Python基础_私有变量访问限制
  19. SQL之group by 和 having
  20. 75. ID重新走过,备份表

热门文章

  1. 【转载】Zookeeper 安装和配置
  2. Centos6 hadoop2.6.0安装笔记
  3. 【Android学习】Service&Boradcast初步
  4. getField
  5. javascript高级程序设计读书笔记----引用类型
  6. DLL用def定义文件来导出重载函数(转)
  7. opencv——通过面积筛选最大轮廓,并求凸包矩形的长和宽
  8. Linq分组操作之GroupBy,GroupJoin扩展方法源码分析
  9. 树状数组套trie 模板
  10. react-dnd使用介绍