String 不可变字符串(字符串常量)
来源:互联网 发布:尼泊尔弯刀数据图纸 编辑:程序博客网 时间:2024/06/06 05:03
作者:叁念
String 不可变字符串(字符串常量)
1.使用String
String s1 = "hello";//直接赋值String s2 = new String("hello");//使用new关键字
(1)显式的String常量
String s1 = “hello”; // 在常量池中创建一个”hello”的String实例
String s2 = “hello”; // 由于常量池中已经存在了一个”hello”,所以就不创建新的了
* 字符串的引用在栈中
(2)使用new关键字
String a = new String(“hello”);
String b = new String(“hello”);
// 代码被加载时,在常量池中创建一个”hello”实例
// 1 执行时,堆中创建了一个hello的String 实例
// 2 执行时,堆中又创建了一个hello的String实例
2.拼接
java中使用 + 进行字符串拼接
String str1 = "a"; String str2 = "b"; String str; str = str1 + str2;
3.子串
String str = "yesGo!"; System.out.println(str.substring(1,2));//输出:e System.out.println(str);//输出:yesGo!
4.字符串的比较
使用equals来检测两个字符串内容是否相等
“a”.equals(s)不区分大小写,比较字符串内容相等
“ABC”.equalsIgnoreCase(s)一定不能使用 == 来比较两个字符串内容是否相等!
public class Test { public static void main(String[] args) { String str1 = "a"; String str2 = "b"; String str3 = "b"; System.out.println(str1.equals(str2));//false System.out.println(str2.equals(str3));//true System.out.println("A".equals(str1));//fasle System.out.println("A".equalsIgnoreCase(str1));//true 不区分大小写 }}
5.String实例是不可变的!
每一个看起来会修改String值得方法,其实是创建了一个新的String实例,
用来包含修改之后的内容,而最初的String实例没有改变
6.空串和null串
//空串:"",长度为0的字符串,可以用以下方式判断是否是空串 if("".equals(str)) //或者 if(str.length() == 0)
- 空串也是一个String实例,它有自己的长度(0)和内容(“”)
- null: 表示没有任何实例和这个引用关联,判断是否为null
if(str == null)
- 检查字符串既不是空串,也不是null(重点)
if(str != null && str.length() > 0)
7. 字符串的输入
sc.next(); 接收下一个词语(到空格为止)
阅读全文
0 0
- String 不可变字符串(字符串常量)
- Java的String类为什么是不可变的以及字符串常量池
- Java中的String字符串为什么不可变
- java 19:不可变字符串和限定字符串(Immutable String and Interned String)
- 不可变(Immutable)字符串
- java-不可变字符串
- 字符串不可变特性
- 【C#】不可变字符串String的常用方法
- 关于 String类型为不可变字符串的理解
- java String类的字符串常量不可变更
- String类 String 字符串的比较 String 字符串值不可变
- 字符串:可变字符串与不可变字符串
- OC不可变字符串和可变字符串(1)
- 字符串是不可变的
- 不可变字符串的学习
- 不可变字符串的扩展
- 字符串常量不可以改变
- 把不可变字符串转成可变字符串
- React Redux
- Android studio 导入 aidl
- 1057. 数零壹(20) PAT乙级真题
- sping是怎么处理线程并发的
- Django基本命令
- String 不可变字符串(字符串常量)
- android 短信查询、头像、联系人名称(支持会话和短信)__接上篇
- pycharm、mysql、virtualenv虚拟机环境、python3、Django、vue开发环境搭建
- python2.7使用csv
- [LeetCode] 657.Judge Route Circle
- 微信小程序通知服务实现及错误47001和41028
- C++中的explicit关键字
- 欢迎使用CSDN-markdown编辑器
- Ubuntu /Spark单机环境搭建