Java中的String类

一、String类

a.) String类对象的初始化
在java中给了一种简化的特殊语法来创建String类的对象,格式如下:

String str = "Hello World!";

当然也可以按照面向对象的标准语法来创建String类的对象,格式如下:

String str1 = new String("Hello World!");
 
但是按照面向对象的标准语法来创建String类的对象,会造成内存使用的浪费,因为当你new一个对象的时候,

实际上是创建了两个对象,一个是"Hello World!"对象,存在常量空间,一个是使用new的关键字为str1申请的空间。

b.) String类的对象是不能被改变
比如当我们这样使用时:

String str = "Hello World!";
str += " xdlove~";
out.print(str);

输出是Hello World! xdlove~,虽然看起来str是被改变了,但是实际上一开始用new关键字申请的空间里面的"Hello World!"

并没有改变,而是系统重新开辟了一段空间来存Hello World! xdlove~,并把原先指向 "Hello World!" 的指向断开,去指向新

的内存块。这样当我们在程序中大量使用这样的语句时,会使程序的效率非常低下,造成了空间的大量浪费。

c.) String类中的重要API

1.public char[] toCharArray()   将字符串转化为字符数组。
例:char c[] = str.toCharArray();
2.char charAt(int index)  返回字符串中下标为index的字符。
3.将字符数组转化为字符串
  例:str1 = new String(c)             把字符数组的全部字符转化为字符串
     str2 = new String(c,start,num)   把字符数组的部分字符转化为字符串
4.字符串与Byte数组的转换
 byte数组(字节数组),在一般的IO操作中会经常使用到。
 byte[] getBytes()  将字符串变为字节数组
 byte c[] = str.getBytes();  
5.查找指定的字符或字符串是否存在
  public int indexOf(String str)    返回的是字符串或字符在原串的起始位置,
  如果不存在则返回-1
6.去掉字符串首尾的空格
例:str.trim();
7.字符串截取
  例:str.substring(6)   从第七个位置开始截取到结尾。
     str.sunstring(0,5)  0为起始位置,5为结束位置的子串。
8.spilt方法
#1.该方法的作用是以特定字符串作为间隔,拆分当前字符串的内容,一般拆分后会形成一个字符串数组。
例如:
String str = "12 23";
String[] c = str.split(" ");
for(String e: c) out.println(e);

#2.如果字符串中在内部存在和间隔字符串相同的内容时,将拆除空字符串,但是尾部的空字符串会被忽略。
例如:

String str = "12  23  ";
String[] c = str.split(" ");
for(String e: c) out.println(e);

#1会得到字符串集合{“12”,“23”},#2会得到字符串集合{“12”,“”,“23”};

#3.如果需要限定字符串拆分后的字符数组大小,则在split方法再加上一个参数制定最多可以拆分成几个字符串

例如:

String str = "12 23 123";
String[] c = str.split(" ",2);
for(String e: c) out.println(e);

#3.拆分后形成两个字符串{“12”,“23 123”};

#4.当参数为负数时,会尽可能的拆完怎个字符串,并且连末尾的空格也拆分出来,这一点和不加参数有点区别







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值