Java-String和StringBuffer,基本类型包装类

String

  • String类是final类,String对象是常量对象,被初始化或赋值后,它的值和所分配的内存内容就不可再改变

当需要重新赋值的时候,系统发现原来的空间不能再追加新的内容,系统只能重新生成第二个新的对象str并重新申请一个新的内存空间。

  • substring方法可以获得字符串的子串
str.substring(2);//从2开始到最后
str.substring(2,4);//包括2,但不包括4
  • charAt方法可以获得指定的字符,可用来实现字符串倒转
    String str="abcdefg";
    str.charAt(4);//获得第六个字符
  • indexOf方法帮助查找子串或者字符的位置
String str="abcdefg";
str.indexOf(a);
str.indexOf(ef);

  • split方法实现对字符串分割
  • 可以使用equals方法检测两个字符串是否相等,equalsIgnoreCse方法可以不区分大小写来检测两个字符串是否相等
  • 不用使用“==”运算符检测两个字符串是否相等,因为这个运算符只能够确定两个字符串是否放置在同一个位置上

StringBuffer

  • StringBuffer类用于创建和操作动态字符串
  • StringBuffer默认的容量是16个字符,如果超过初期的容量,StringBuffer对象会自动扩展以符合要求,capacity方法返回为对象分配的字符数(内存),length方法返回对象目前存储的字符数。
		StringBuffer sb=new StringBuffer();
		System.out.println(sb.capacity());//返回16
		System.out.println(sb.length());//返回0
  • charAt,substring方法的使用与String的相同
  • append方法将字符串添加到当前StringBuffer对象内容的结尾
    StringBuffer sb=new StringBuffer();
    sb.append("hello world");
  • setCharAt方法把指定的字符替换成别的字符
	StringBuffer sb=new StringBuffer();
		sb.append("hello world");
		System.out.println(sb.toString());
		sb.setCharAt(0, 'H');//把0号位替换成H
		System.out.println(sb.toString());
  • insert方法在指定的位置插入字符或者字符串,该方法有多个重载版本以容纳各种数据类型
		StringBuffer sb=new StringBuffer();
		sb.append("hello world");
		sb.insert(2, "String");
  • reverse方法倒置StringBuffer的内容
    		StringBuffer sb=new StringBuffer();
    		sb.append("hello world");
    		System.out.println(sb.reverse().toString());

StringBuilde

StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。


Character

  • character类是char的包装类,该类的方法可以对字符进行处理,如大小写转换等

    Integer Byte Double Float

  • 在使用String参数创建对象时,要用数值型String变量作为参数,否则会抛出NumberFormatException异常
  • MAX_VALUE,MIN_VALUE:表示最大值和最小值。

猜你喜欢

转载自blog.csdn.net/qq_40866897/article/details/79539855
今日推荐