String 类的常用操作
1. 一个字符串相当于匿名的String 对象
2. == 在String类中相当于 比较地址
3. java 中比较内容用equals
4. 当用字符串直接赋值操作时 如果字符串一样则堆里面不会再另外开辟控件而只是将栈里面的指向 指向同一个堆地址
5. 使用new 给一个字符串赋值其实是开辟了两个堆空间,这是对内存空间的浪费,避免使用
6. 字符串的内容一旦声明就不可以改变-----只要改变了值那么它的指向就会改变,这依然会造成内存空间的浪费
实际上字符串内容的改变 改变的是堆内存的地址字符(也就是改变栈的引用地址)
7. 一个有趣的消耗内存的例子:
public class Demo01{
public static void main(String[] args){
String str=”周海峰”;
for(int i=0;i<100;i++)
str+=I;
}
}
在以上的程序中每循环加一次就会新创建一个堆内存用来存储相加之后的内容,之前的内存就会造成浪费等待GC机制回收.
8. String 类中常用的方法
public String(char[] value) 直接将一个字符数组传递给一个String对象
将一个字符数组从指定位置将指定的字符个数传递给一个String对象
toCharArray() 将一个String 对象变为字符数组
charAt() 取出字符串指定位置的字符
getByte 将字符串变为字节数组
length()取得字符串的长度
indexOf(str ,int fromIndex) 从开始位置查找指定的字符串在字符串中的位置
String trim() 清除左右两端的空格
*String类的常用函数口诀 字符[]--à String ;String(char[],offset,count)/String (char[])---这是String的构造方法(byte一样)
*String----à字符[] toCharArray()—这是String 的普通方法
String--àbyte[] getByte()
获取指定字符串在字符串中的位置
IndexOf(String str ,int fromIndex)
口诀: 字符串,字符数组,byte数组相互转换并求字符串中的位置、长度()
本文详细解析Java中String类的基本概念、操作方法及内存管理策略,包括字符串比较、堆内存分配、字符串内容改变的影响以及如何避免不必要的内存浪费。通过实例演示了如何高效地使用String类,提供了宝贵的内存优化建议。
476

被折叠的 条评论
为什么被折叠?



