String补充
String类不可变和可变字符序列区别_字符串比较

String类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”。也就是指对象内部成员变量的值无法再改变,
public class TestString{
public static void main(String []args){
String str = "aabbcc";
String str2 = str.substring(2,5);
System.out.println(str);
System.out.println(str2);
}
}
public class TestString{
public static void main(String []args){
String str1 = "hello" + " java";
String str2 = "hello java";
System.out.println(str1 == str2);
String str3 = "hello";
String str4 = " java";
String str5 = str3 + str4;
System.out.println(str2 == str5);
System.out.println(str2.equals(str5));
}
}
编译器在这里3,4位置做了优化,直接在编译的时候将字符串"hello" 和 " java"进行了拼接,相当于str1 = "hello java";而str2 = "hello java";所以两者拼接后是同一个对象,所以打印出true。而str3 , str4在10的位置编译的时候不知道变量中存储的是什么,所以没办法在编译的时候优化,
在此我建议大家在做字符串比较的时候,建议使用.equals()不要使用 “==”。
String补充的更多相关文章
- Flex入门(三)——微架构之Cairngorm
大家都知道我们在开发后台的时候,都会使用MVC,三层等分层架构,使后台代码达到职责更为分明单一,高内聚低耦合,比如,Dao层仅仅是进行和数据库打交道,负责处理数据:Service(B层)仅仅是进行逻辑 ...
- SQLite中7(8)形参的query语句的用法
SQLite中7(8)形参的query语句的用法 我们先来看看这种7形参的query语句的形参列表: public Cursor query(String table, String[] column ...
- Android——ArrayList 、LinkList、List 区别 & 迭代器iterator的使用 & HashMap、Hashtable、LinkedHashMap、TreeMap
ArrayList .LinkList.List 区别 & 迭代器iterator的使用 & HashMap.Hashtable.LinkedHashMap.TreeMap 一.几个 ...
- 【JAVA语法】01Java-变量与数据类型
数据类型初阶 基本数据类型的包装类 整数类型&浮点类型&字符类型 大小类型转换 通过Scanner从控制台获取数据 变量相关基础算法 Java的错误类型 字符串String 补充-Pa ...
- c++ stl在acm的入门及使用
stl的全称为Standard Template Library,即为标准模板库,它主要依赖于模板,而不是对象,所以你需要对这个模板进行实例化,选择你要使用的类型.我们用的都是一些简单的容器吧 这里可 ...
- C#中使用Dictionary实现Map数据结构——VC编程网
转载自: http://blog.51cto.com/psnx168 在VC中使用过CMap以及在Java中使用过Map的朋友应该很熟悉,使用Map可以方便实现基于键值对数据的处理,在C#中,你就需要 ...
- Effective.Java第23-33条(泛型相关)
23. 类结构层次优于标签类 有时你会碰到一个类,它的实例有一个或多个风格,并且包含一个tag属性表示实例的风格.例如,如下面的类表示一个圆或者矩形: public class Figure { / ...
- 这 100 道 Python 题,拿去刷!!!
2020年,学 Python 还有价值吗? 根据 2020 年 2 月的 TIOBE 编程语言排行榜显示,Python仍然稳居第三位. 此排行榜排名基于互联网上有经验的程序员. 课程和第三方厂商的数量 ...
- String "+" 的补充说明---行粒度
String 中“+” 的操作的补充说明 在使用“+”的时候,会创建一个StringBuilder对象,然后invokevirtual append()操作 “+”操作创建StringBuilder的 ...
随机推荐
- knn算法详解
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代 ...
- PHP删除目录及目录下所有文件
/** * 删除目录及目录下所有文件或删除指定文件 * @param str $path 待删除目录路径 * @param int $delDir 是否删除目录,1或true删除目录,0或false则 ...
- 【UER #8】雪灾与外卖
题解: 这个东西的模型是个费用流 但是直接跑费用流能拿到5分的高分 $(nm)*(nm)*log{nm}$ 考虑优化一下建图 我们可以不用对每个店和人都连边 而是对人和店都连一条链 然后对每个人连店刚 ...
- 关于snappy的压缩 hadoop和hbase均支持
临时做个随笔 下载snappy-1.1.1.tar.gz 解压后需要提前安装: yum -y update gccyum -y install gcc+ gcc-c++ =============== ...
- 003 css总结
1.题目 有哪项方式可以对一个DOM设置它的CSS样式? CSS都有哪些选择器? CSS选择器的优先级是怎么样定义的? CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内? 超链 ...
- Python-第一篇-python初识及变量
<work smart>主动分享成果和经验,与同伴共同成长</smart work> 启文:使用20多种编程语言,对大家说节日快乐 万国码使用16位(至少)表示内容: ASCI ...
- hcna(华为)_Telnet篇
Telnet提供了一个交互式操作界面,允许终端远程登录到任何可以充当 Telnet服务器的设备.Telnet用户可以像通过Console口本地登录一样对 设备进行操作.远端Telnet服务器和终端之间 ...
- KMP性质小结
跪拜_Blackjack_神犇
- Unity-批量修改Prefab上的属性
问题描述:今天发现工程中有些prefab上的脚本丢失了一些引用,本以为手动拖拽上去搞定,后来查看其它prefab,也有类似的问题,于是写了一个小工具,批量修改下. 上代码: [ExecuteInEdi ...
- 对象转JSON
/// <summary> /// 把对象序列化 JSON 字符串 /// </summary> /// <typeparam name="T"> ...