字符串学习

1.切割字符串split()与StringTokenizer()的区别
StringTokenizer()对于java默认的分隔符“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”都不需要进行转义就可以直接对字符串进行切割,但对"+"、"*"、"$"、""这些符号同样需要转义后才能切割;而split()对上述所有的符号都要先转义后才能对字符串进行切割。

public class StringSplit {
 public static void main(String[] args) {
  String value = "192.168.128.33";
  String[] names = value.split("\\.");//对.进行转义后才能切割,若分隔符为/号,则要“”进行转义。
  for (int i = 0; i < names.length; i++) {
   System.out.println(names[i]);
  }
 }
}

在处理效率上StringTokenizer()比split()快,但因为jdk版本兼容问题,不提倡使用StringTokenizer()。
2.判断字符串
2.1判断字符串中是否包含指定字符串:boolean contains(CharSequence s)
2.2判断字符串是否以某某开头:boolean startsWith(String prefix)
2.3判断字符串是否以某某结尾:boolean endsWith(String suffix)
2.4判断字符串的内容是否相同:boolean equals(Object anObject) (复写了Object 类中的equals方法)
2.5判断字符串的内容是否相同,(不考虑大小写):boolean equalsIgnoreCase(String anotherString)
3.转换
3.1、 将字符数组转换成字符串
构造函数: String(char[] value)
     String(char[] value, int offset, int count): 将数组中从下标offset开始,一共count位字符转换成字符串。
静态方法: static String copyValueOf(char[] data)
      static String copyValueOf(char[] data, int offset, int count)
      static String valueOf(char[] data)
3.2、 将字符串转换成字符数组
     char[] toCharArray()
3.3、 将字节数组转换成字符串
     String(byte[] value)
     String(byte[] value, int offset, int count): 将数组中从下标offset开始,一共count位字符转换成字符串。
3.4、 将字符串转换成字节数组
     byte[] getBytes(String charsetName)
3.5、 将基本数据类型转换成字符串
     static String valueOf(boolean b)
     static String valueOf(char c)
     static String valueOf(char[] data)
     static String valueOf(double d)
4、替换
String replace(char oldChar, char newChar) : 返回一个数组,它是用newChar 替换就数组中的oldchar等到的。(一个一个的替换)
   String replace(CharSequence target, CharSequence replacement) : 后替前,用新串替换原串中的子串。
5.理解String,StringBuffer,StringBuilder的区别:
String是final型的,是“字符创常量”,也就是不可改变的对象。当用String操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉。因此String是线程安全的,但效率是最低的。
StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象,是字符串变量。StringBuilder是线程非安全,StringBuffer是线程安全的,所以效率上StringBuilder>StringBuffer> String的。
应用场景如下:
1.如果要操作少量的数据用 String
    2.单线程环境中操作字符串缓冲区下操作大量数据用StringBuilder
3.多线程环境中操作字符串缓冲区下操作大量数据用StringBuffer

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值