Java 字符串类

1.字符串常量,string类

值不可变,被final修饰。

String s = “abc”;

s = “bcd”;

这两段代码并没有修改abc的值,而是在常量池中又开辟了一块空间,值是bcd,栈中的s指向bcd。

1.1加密

 1. byte[] bytes = str.getBytes();可以将字符串转化为指定编码格式下的编码。

 2.Arrays.toString()可以将数组打印出来,如果数组直接sout,输出的是地址值。

1.2 String与字符数组

String s = "abc";

char[] chars = s.toCharArrry();//将字符串转换成字符数组;

String str =new String(chars);//将字符数组产换成字符串(String的有参构造);

 1.3分割

split();方法将字符串分割成字符串数组;有两个参数第一个是要以哪个字串分割,第二个是限定,

limit=0;//自动过滤末尾的空格,“abckjhabc”,以abc分割后成{ ,kjh};

0<limit<=len,len就是所分割成的数组的元素个数。

limit<0,分割最多次。

这个可以统计指定子字符串在字符串中出现的次数。

 String str = "abchhhhabchdgfgabcabc";

String[] array = str.split("abc",-2);

 System.out.println(array.length-1);

对str进行最多次分割,所分割的数组元素个数刚好是指定子字符串的数量加一,故array.length-1就是出现次数。
 

1.4检索

charAt()方法,返回值是char;参数是int类型 表示字符串对应的索引(范围是0-length)

如:打印出字符串的每个字符;

int len = str.length();

for(int i= 0;i<len;i++)

{

        char c = str.charAt(i);

system.out.println(c);

}

 1.5 indexof()和lastIndexof()

indexof()返回值是int 形参是 指定字符串,开始查找的索引(int);//找出指定字符串第一次出现的位置

lastindexof()//找出指定字符串最后一次出现的位置

1.6  截取

substring();返回值类型是String,形参是开始截取位置的索引,结束位置的索引(包头不包尾)

一般截取都会结合这indexof()和lastIdexof()方法使用。

1.7 不加大小写区分的比较 

String s = "abc";

s.equalsIgnoreCase("Abc");//这个方法是不区分大小写对字符串进行比较,返回值是布尔型。

 1.8 替换

 s.replaceAll()//两个参数 要替换的字符串,用哪个字符串替换。返回值是新的字符串。这个是把所有字符串中所有的符合条件的字串全部替换。

s.replace()//两个参数 要替换的字符,用哪个字符替换,返回值是新的字符串。这也是把所有符合条件的字符全部替换。

2.字符串变量 

StringBuffer和StringBuilder.最常用的的方法append()方法,作用是往变量后面继续拼接字符串。

> 这两个类的方法一模一样

|                   | 值是否可变 | 线程安全   | 效率 | 内存(拼接)                    |
| ----------------- | ---------- | ---------- | ---- | ----------------------------- |
| String            | 不可变     | 安全       | 一般 | 产生很多新对象 占据很多堆内存 |
| StringBuffer      | 可变       | 安全(同步) | 最慢 | 一个对象                      |
| ==StringBuilder== | 可变       | 不安全     | 最快 | 一个对象                      |


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值