Java - String中的==、equals及StringBuffer(转自CSDN 作者:chenrui_)
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_)的更多相关文章
- Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值 String str=& ...
- JAVA String、StringBuilder、和StringBuffer的区别,及如何使用
目录 String类 一.String类的理解和创建对象 二.String类创建的方式 两种创建String对象的区别 测试题 三.String常用方法 四.StringBuffer类 1.Strin ...
- Java String的== 与 equals小结
package hashcode; public class LearnString { public static void main(String[] args) { //1.先在栈中创建一个对S ...
- 【java基础 15】java代码中“==”和equals的区别
导读:昨夜闲来无事,和贾姑娘聊了聊java基础,然后就说到了这个"=="和equals的问题,我俩都是以前了解过,也常用这个,但是,昨天说到的时候,又乱了,什么比较地址值,什么判断 ...
- java——包装类中的equals方法
基本数据类型包装类中的equals方法用于比对相同包装类中的值是否相等,如果两者比较的包装类类型不同则返回false: Byte public boolean equals(Object obj) { ...
- java String 中 intern方法的概念
1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...
- 深入解析java String中getBytes()的编码问题
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6900536.html Java服务器后台在和Android端App通信时,遇到了两端关于用MD5加密同一包含 ...
- Java Object中的equals和hashCode
Java的Object对象中有两个方法比较有意思,一个是equals(),一个是hashCode(),那么这两个的作用有些同学可能还不是很清楚,那么同学们现在就进一步了解一下吧. 下面咱们写一个简单的 ...
- Java String 中的一些函数与正则的结合使用
首先正则表达式在处理字符串问题时,真的非常强大. 正则可以帮助我们处理字符串的: 匹配, 选择, 编辑, 验证等问题. 正则中"\\"表示插入一个"\" 这里仅 ...
随机推荐
- centos7用fdisk进行分区
1.查看分区信息:fdisk -l 从上面可以看到,/dev/sdb分区还没有使用,现在将其划分成2个10G的分区. 2.执行:fdisk /dev/sdb 1):fdisk命令参数 p:打印分区表. ...
- myeclipse便捷导包方式
1.将spring框架的core导成如图的方式 2.选中项目右键--bulid path--进入buildpath 3.选择add library 4.选择user library 5.选择user ...
- 16、Semantic-UI之模态窗口
16.1 定义模态窗口 示例:定义基础的模态窗口 <!DOCTYPE html> <html lang="en"> <head> <met ...
- 我的Linux主机操作记录续
6.安装部署node.js环境 (1)node.js的使用的项目构建工具GYP(Generate Your Project)是基于Python2.7的,所以需要安装Python2.7环境 一般自带有此 ...
- unigui不是单个网页相应的链接,而是整体Web Application,如何把webApp的子功能映射到微信公众号菜单?
只需要用UniApplication.Parameters.Values[‘xxx’]读取url的参数然后调用就可以 例如:要打开公众号菜单的取样送检指南查询模块,在自定义菜单设定:http://ww ...
- js 格式化时间
//格式化时间 function time_format(time) { return new Date(parseInt(time) * 1000).toLocaleString().replace ...
- ASP.NET MVC 如何使用自定义过滤器(筛选器)
继承*****Attribute(筛选器三种具体类)-->重写方法-->标记在控制器 或者 方法上面 或者 在FilterConfig中Add [类名(类属性 = 值)]还有[AllowA ...
- django media配置
当我们需要向服务器发送图片或视频,需要对这些媒体文件进行保存时,需要指定保存在哪并将保存的路径添加到路由中. 1.设置settings.py MEDIA_URL = '/media/' MEDIA_R ...
- Django Managers管理器
Managers class Manager 管理器是向Django模型提供数据库查询操作的接口.Django应用程序中每个模型至少有一个管理器. Manager names 默认情况下管理器的名字为 ...
- jqGrid-基础篇
jqGrid 是一个用来显示网格数据的jQuery插件,通过使用jqGrid可以轻松实现前端页面与后台数据的ajax异步通信. 一.jqGrid特性 基于jquery UI主题,开发者可以根据客户要 ...