String字符串使用方法
2016-02-25 19:42
190 查看
String:字符串
字符串池:第一次创建字符串变量时,会到池中找这个变量值,
如果没有找到就会创建一个并放入池中,后面再创建变量时直接从池中拿这个值,
而使用"="赋初值是存放在字符串变量池中;
new 的方法:会开辟新的内存空间 (==比较的是地址)
使用"=="比较new创建的变量时;比较的是内存地址
使用"=="比较"="赋初值的变量时会去变量池中寻找
使用equals进行比较那么两者都会比较字符串内的字符串序列。
IndexOf:索引指定的字符串在给定的字符串中第一次出现的位置;
可以指定索引的开始值然后索引;
可以从指定的地方开始索引;
LastIndexOf和IndexOf有相同的用法,索引指定字符在字符串中最后一次出现的位置
Length():返回指定字符串的长度
ToString()返回对象本身,(继承object中的重写方法)
StringBuffer:能够追加字符串 (解决字符串常量问题)
使用append方法直接追加到变量后面并保存到同一个内存中
例如:使用string创建变量
String s = "hello" + " world";//内存中占用了4个内存空间
//内存分配分别为(s占用一个栈内存,hello,world和helloworld分别占用一个堆内存)
使用stringbuffer创建变量
StringBuffer s2 = new StringBuffer("hello").append("world");
//StringBuffer共占用了2块内存区域(s2占一个栈内存,helloworld占一个堆内存)
reverse()将此字符序列用其反转形式取代
StringBuilder 与 StringBuffer 一样,只是线程不安全
字符串池:第一次创建字符串变量时,会到池中找这个变量值,
如果没有找到就会创建一个并放入池中,后面再创建变量时直接从池中拿这个值,
而使用"="赋初值是存放在字符串变量池中;
new 的方法:会开辟新的内存空间 (==比较的是地址)
使用"=="比较new创建的变量时;比较的是内存地址
使用"=="比较"="赋初值的变量时会去变量池中寻找
使用equals进行比较那么两者都会比较字符串内的字符串序列。
IndexOf:索引指定的字符串在给定的字符串中第一次出现的位置;
可以指定索引的开始值然后索引;
可以从指定的地方开始索引;
LastIndexOf和IndexOf有相同的用法,索引指定字符在字符串中最后一次出现的位置
Length():返回指定字符串的长度
ToString()返回对象本身,(继承object中的重写方法)
StringBuffer:能够追加字符串 (解决字符串常量问题)
使用append方法直接追加到变量后面并保存到同一个内存中
例如:使用string创建变量
String s = "hello" + " world";//内存中占用了4个内存空间
//内存分配分别为(s占用一个栈内存,hello,world和helloworld分别占用一个堆内存)
使用stringbuffer创建变量
StringBuffer s2 = new StringBuffer("hello").append("world");
//StringBuffer共占用了2块内存区域(s2占一个栈内存,helloworld占一个堆内存)
reverse()将此字符序列用其反转形式取代
StringBuilder 与 StringBuffer 一样,只是线程不安全
相关文章推荐
- Hardware information 修改方法
- 2016/02/25
- CodeForces 621 C. Wet Shark and Flowers(期望)
- 如何手动把pdf转换成word文档
- 关于正则表达式的问题
- 263. Ugly Number
- Linux初讲——环境变量
- 字符个数统计
- 如何把外部jar包加入class-path
- tomcat-dbcp数据库连接池配置以及使用时候的一些坑
- C/C++常用头文件及函数汇总
- 烂泥:阿里云RDS本地恢复数据
- 使用语法分析器对SQL进行解析
- [工作]双核系统struts-config.xml
- 【poj3278】Catch that cow——bfs
- JsonKit使用方法
- Android【基础篇】
- C语言知识整理(三)
- Java Modbus CRC16校验
- matlab 中的矩阵分解