黑马程序员_String类的介绍

本文详细解析Java中String类的基本概念、操作方法及内存管理策略,包括字符串比较、堆内存分配、字符串内容改变的影响以及如何避免不必要的内存浪费。通过实例演示了如何高效地使用String类,提供了宝贵的内存优化建议。

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数组相互转换并求字符串中的位置、长度()

                       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值