25#Object&String&String buffer

25.1 API

  • Application Programming Interface(应用程序接口)
  • API即JDK提供的类,JDK中的src.zip文件即所有Java类的源文件

25.2 Object

  • 所有类的父类
  • 构造方法
Object()
  • 方法
boolean equals(Object obj);//判断两个对象是否是同一个对象
String toString();//返回该对象的字符串表示
public boolean equals(Onject obj){
   return this==obj;//引用数据类型,比较的是内存的地址值
}
public boolean equals(Object obj) {
		if(this == obj)
                        return true;
                if(obj == null)
                        return false;
                if(obj instanceof Person){
			Person p = (Person)obj;
			return this.age == p.age;
		}else{
			return false;			
		}
	}

25.3 String

  • 代表字符串,本质是以个字符数组

  • 字符串本身是不会变的,但是str记录的地址值是会变化的。

字符串的创建有两种方式,String类重写了Object中的equals方法。

  • String的构造方法
String(byte[] bytes); //自动解码;
String(byte[] bytes,int offset,int length); //指定的一部分开始的(起始索引)和(个数)进行解码;
String(char[] value); //自动转化成字符串;
String(char[] value, int offset, int count); //指定的一部分开始的(起始索引)和(个数)进行解码;
String("...");
  • String的方法
int length();
String substring(int beginIndex);//[int beginIndex,...]
String substring(int beginIndex, int endIndex);//[beginIndex,endIndex)
boolean startsWith(String prefix);
boolean endsWith(String suffix);
byte[] getBytes(); //将字符串查询编码标后转换成字节存储在字节数组
char[] toCharArray(); //将字符串转化成一个新的字符数组
boolean equals(Object anObject); //判断字符是否完全相同
boolean equalsIgnoreCase(String anotherString); 
String toUpperCase();
String toLowerCase();
int indexOf(String key); //0或n

25.4 字符串缓冲字符串

  • 支持可变的字符串,提高字符串的操作效率
  • 线程安全的可变字符序列
  • 内部定义了可变数组,但是这个数组没有修饰符final

  • 构造方法
StringBuffer();//初始容量是16个字符
StringBuffer(String str);
  • 方法
StringBuffer append(String str)
StringBuffer delete(int start, int end) //[start,end)
StringBuffer insert(int offset, String str) 
StringBuffer replace(int start, int end, String str)
StringBuffer reverse()
String toString()
StringBuffer buffer = new StringBuffer();
buffer.append(1).append(false).append("abc").append('a')....
//返回值都是StringBuffer对象
  • StringBuilder

StringBuilder线程不安全

StringBuilder兼容StringBuffer的API,对于单线程使用StringBuilder会快于StringBuffer

猜你喜欢

转载自blog.csdn.net/weixin_43660263/article/details/86550693
今日推荐