您的位置:首页 > 编程语言 > Java开发

Java中字符串

2017-05-20 09:34 66 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/s2152637/article/details/72568834


1、创建方法

(1)String s = "aaa";

(2)String s = new String();

(3)String s = new String("aaa");


注:1、s1等于创建了一个新的字符串对象,不是原来的s1的内存地址

2、一旦字符串在内存中创建,则这个字符串将不能改变。

3、使用new创建的字符串都是一个新的对象,即使两个字符串的内容相同,

       ==:判断的地址和内容,所以返回false,

判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

       Equals:比较存储在两个字符串对象中的内容是否一致,如果内容相同返回true

 

2、字符串的常用方法


注:1. 字符串 str 中字符的索引从0开始,范围为0 到 str.length()-1          

2. 使用 indexOf进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

3. 使用substring(beginIndex , endIndex)进行字符串截取时,包括 beginIndex位置的字符,不包括 endIndex 位置的字符

小提示:字节是计算机存储信息的基本单位,1个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节1 个英文字符存储需要 1 个字节。所以我们看到上面的程序运行结果中,每个汉字对应两个字节值,如“学”对应“-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示

3、StringBuilder类,StringBuffer类(可变的字符串)

频繁操作字符串过程中,会额外的创建很多临时变量,使用StringBuilder或StringBuffer可以修改字符串的值,但不会创建新的对象。

StringBuffer是线程安全的

StringBuilder没有实现线程安全,所以性能略高

创建:StringBuilder s = new StringBuilder();

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: