首页 > 编程语言 > 详细

Java中的String和StringBuffer

时间:2020-05-06 12:30:19      阅读:49      评论:0      收藏:0      [点我收藏+]

String:

String 类代表字符串.

//演示字符串
String str  = "oracle";
str = "甲骨文";

字符串是常量;

字符串本身不能改变,但str变量中记录的地址值是可以改变的。

字符串的本质是一个字符的数组。

 

String s3 = "abc";
String s4 = new String("abc");//创建了两个对象
System.out.println(s3==s4);//false
System.out.println(s3.equals(s4));//true,//比的是内容
//因为String重写了equals方法,建立了字符串自己的判断相同的依据(通过字符串对象中的字符来判断)

s4创建,在内存中有两个对象。一个new的对象在堆中,一个字符串本身对象,在字符串常量池中

常量池:是在堆里  开一块区域;

这是代码画图的原理。

技术分享图片

如果内容一样,就不创建了,会把这个地址返回给你。

String类构造方法:

byte[] bys = new byte[]{97,98,99,100};
String s2 = new String(bys); // 创建String对象,把数组元素作为字符串的内容
char[] ch= new char[]{’a’,’b’,’c’,’d’,’e’};
String s = new String(ch); //创建String对象,把数组元素作为字符串的内容(字符转串)

String类部分方法:

length()
          返回此字符串的长度。

(数组长度用的是length属性、字符串是用的length方法、集合是用的size方法)

getBytes(Charset charset)
          使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。

toCharArray()
          将此字符串转换为一个新的字符数组。

toString()
          返回此对象本身(它已经是一个字符串!)直接打印引用类型变量时,默认调用该类型进行重写后的toString方法。

startsWith(String prefix, int toffset)
          测试此字符串从指定索引开始的子字符串是否以指定前缀开始。

endsWith(String suffix)
          测试此字符串是否以指定的后缀结束。

contains(CharSequence s)
          当且仅当此字符串包含指定的 char 值序列时,返回 true。

substring(int beginIndex)
          返回一个新的字符串,它是此字符串的一个子字符串。截取。包头不包尾

equalsIgnoreCase(String anotherString)
          将此 String 与另一个 String 比较,不考虑大小写。忽略大小写

ASCII码表:

大写A是从65开始。

小写a是从97开始。

数字0是从48开始。

byte字节的范围是-128到127.

StringBuffer类:字符缓冲区

StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区。

StringBuffer的方法

技术分享图片

 

 链式调用:方法返回值是本身。

创建一个字符串缓冲区对象。用于存储数据。
StringBuffer sb = new StringBuffer();
添加数据。不断的添加数据后,要对缓冲区的最后的数据进行操作,必须转成字符串才可以。
String str = sb.append(true).append("hehe").toString();

StringBuilder类比StringBuffer快。

 

Java中的String和StringBuffer

原文:https://www.cnblogs.com/heitaitou/p/12835107.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!