String类,包装类

1 String字符串

底层代码

底层都是采用数组实现的

  • 字符串一旦定义就不可以改变
    String str = "1234";
	System.out.println(str.hashCode());//1509442
	str = "33";
	System.out.println(str.hashCode());//1632

常用方法

1. charAt()
    String str = "zhaodi";
    str.charAt(3);// o

2. indexOf()
    str.indexOf('z');//0
3. equals()
    比较的字符串的值是否相等,不比较hashcode了,string已经重写了这个方法
4. subString()
    截取字符串
5. replace()
    替换
    str.replace('o','e');
6. split()
    分割
    String a = "dd,ff,g";
    String [] result = a.split(",");
7. trim()
    去掉首位的空格
    
8. equalsIgnoreCase()
    比较是否相等,忽略大小写
    
9. startWith()

10. toLowerCase()

2 StringBuilder,StringBuffer

  • 可变的字符序列,string是不可变的
  • StringBuilder是线程不安全,但是效率高
  • StringBuffer是线程安全,效率低

从下面的例子看出字符串的值可以被改变的

StringBuilder sb = new StringBuilder();// 字符数组初始化大小16
StringBuilder sb = new StringBuilder(32);// 字符数组初始化大小32
StringBuilder stringBuilder = new StringBuilder("zhao");//字符数组初始化大小32,value[]={'z','h','a','o','u0000',....}
System.out.println(stringBuilder.hashCode());	//366712642
stringBuilder = stringBuilder.append("zhao");//追加字符串
System.out.println(stringBuilder.hashCode());//366712642
		

常用方法

1.append()
    追加
2. delete(fromIndex,lastIndex)
    删除字符串,从哪里删除到哪里

3. reverse()
    反转

3 包装类

概念

  • 我们在实际使用中经常需要将基本数据转化成对象,便于操作,比如:集合的操作

  • 8种,int(Integer),float(Float),double(Double),Char (Character)等

  • 提供字符串,基本数据类型,对象之间的相互转换

4 装箱,拆箱

  • 装箱:基本数据类型转化到对应的对象类型
  • 拆箱:相反
一个小小的程序员
原文地址:https://www.cnblogs.com/zhaod/p/8324419.html