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

Java - String中的==、equals及StringBuffer(转自CSDN 作者:chenrui_)的更多相关文章

  1. Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

    课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str=& ...

  2. JAVA String、StringBuilder、和StringBuffer的区别,及如何使用

    目录 String类 一.String类的理解和创建对象 二.String类创建的方式 两种创建String对象的区别 测试题 三.String常用方法 四.StringBuffer类 1.Strin ...

  3. Java String的== 与 equals小结

    package hashcode; public class LearnString { public static void main(String[] args) { //1.先在栈中创建一个对S ...

  4. 【java基础 15】java代码中“==”和equals的区别

    导读:昨夜闲来无事,和贾姑娘聊了聊java基础,然后就说到了这个"=="和equals的问题,我俩都是以前了解过,也常用这个,但是,昨天说到的时候,又乱了,什么比较地址值,什么判断 ...

  5. java——包装类中的equals方法

    基本数据类型包装类中的equals方法用于比对相同包装类中的值是否相等,如果两者比较的包装类类型不同则返回false: Byte public boolean equals(Object obj) { ...

  6. java String 中 intern方法的概念

    1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...

  7. 深入解析java String中getBytes()的编码问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6900536.html Java服务器后台在和Android端App通信时,遇到了两端关于用MD5加密同一包含 ...

  8. Java Object中的equals和hashCode

    Java的Object对象中有两个方法比较有意思,一个是equals(),一个是hashCode(),那么这两个的作用有些同学可能还不是很清楚,那么同学们现在就进一步了解一下吧. 下面咱们写一个简单的 ...

  9. Java String 中的一些函数与正则的结合使用

    首先正则表达式在处理字符串问题时,真的非常强大. 正则可以帮助我们处理字符串的: 匹配, 选择, 编辑, 验证等问题. 正则中"\\"表示插入一个"\" 这里仅 ...

随机推荐

  1. QT学习之事件处理

    Qt事件机制 Qt程序是事件驱动的, 程序的每个动作都是由幕后某个事件所触发.. Qt事件的发生和处理成为程序运行的主线,存在于程序整个生命周期. Qt事件的类型很多, 常见的qt的事件如下: 键盘事 ...

  2. Hadoop-2.4.0中HDFS文件块大小默认为128M

    134217728 / 1024 = 131072 / 1024 = 128

  3. 编写高质量代码改善C#程序的157个建议——建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间

    建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间 在我们身边的世界中,对象是什么?对象就是事物,俗称“东西”.那么,什么东西算得上是一个对象呢?对象有属性.有行为.以动物为例,比 ...

  4. Android R文件的id

    如果你用 apktoool 反编译过 apk 就知道,反编译后res/values 下有一个 public.xml 文件,内容如图     这个东西有什么用呢?   先从如何使用资源 ID 开始,在开 ...

  5. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  6. Android-ContentProvider-UriMatcher

    注意:在ContentProvider里面写对数据库增删改查的时候,千万不能 db.close();  cursor.close(); 等操作,不然其他应用访问不到数据,也没有必要写isOpen(); ...

  7. openedx使用中可能用到的一些资源

    这几天一直在弄openedx,你会发现安装好只是第一步,后面还有很多东西在等着你,那么哪里可以看到较新的资料了,分享几个站点: 1.https://readthedocs.org/projects/e ...

  8. 搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

    转载:https://www.cnblogs.com/xiongze520/p/10308720.html 分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟 ...

  9. git subrepo

    此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 目前对 git 仓库拆分的已有实现之一,并没有合并到 git 发行版中.项目的地址是 https://g ...

  10. “全栈2019”Java第六十七章:内部类、嵌套类详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...