public class Student { //2.私有化属性 private static Student s = new Student(); //1.私有化构造器 Student(){ } //3.公共方法 public static Student getInstance(){ return s; } }
懒汉模式
public class Person { //2.私有化属性 private static Person p = null; //1.私有化构造器 private Person(){ } //3.公共方法 public static Person getInstance(){ if( p == null){ p = new Person(); } return p; } }
@Override protected Object clone() throws CloneNotSupportedException { // TODO Auto-generated method stub return super.clone(); }
2)boolean equals(Object obj); 用于判断两个对象是否相等
public boolean equals(Object obj) { return (this == obj); }
如果程序想要比较两个值是否相等首先就会想到==,入过想要比较两个对象是否相等,就得用equals。 注意:想要比较两个对象是否相等时候使用equals,但是这个比较对象必须重写equals方法,根据自己的比较规则比较;不然还是==比较。
3)finalize();垃圾回收机制的方法
只能调用,调用完jvm虚拟机不知道什么时候回收,虚拟机自行决定,你只是通知他而已。
4)toString();
一个类想要打印对象的基本信息,就必须重写Object类的toString方法;
二、String类:java.lang包下的工具类默认是不需要import导包的;public final class String{},所以String类被称为不可改变类,因为使用final修饰。
|—构造器:
new String();目的是创建一个空字符串
new String(byte[] bytes);将当前自己数组转换为字符串
new String(byte[] bytes,字符集编码)
new String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。
new String(char[] value);分配一个新的 String ,以便它表示当前包含在字符数组参数中的字符序列。
new String(String original);初始化新创建的String对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。
|—方法:字符串 一般被称为字符序列; 肯定有下标
1)char char(int index) 返回char指定索引处的值。
2)String concat(String str);将字符串拼接到指定字符串末尾
3)boolean contains(String s );判断当前字符串是否包含指定字符
4)boolean endsWith(String Suffix);判断指定字符串是否以指定内容结尾
boolean startWith(String prefix);判断字符串是否已指定内容开头
5)equals(Object obj);
String s2 = new String(“abc”);
String s3 = new String(“abc”);
==是用来比较俩个字符串的内存地址,equals是用来比较两个字符串的内容的;只要你想用equals方法比较两对象是否相等,就必须满足这个对象重写了Object类中的equals方法;
6)byte[] getBytes();将字符序列编程byte数组的形式显示出来
byte[] getBytes(Charset charset); 根据指定字符集来解析成 byte数组
byte[] getBytes(String charsetName); 字符集名字
7))indexOf(int ch); 返回指定字符所在序列中的下标入参是字符的 ASCII 表现形式
indexOf(int ch, int fromIndex);查找指定字符,从指定位置开始如果字符序列中有相同字符, 返回此字符第一次出现的位置
indexOf(String charName); 字节返回字符所在位置
8)isEmpty(); 判断当前字符序列 是否是 空字符串
9)lastIndexOf(int ch);返回指定字符的最后一次出现的字符串中的索引。
lastIndexOf(int ch,int fromIndex) 返回指定字符的最后一次出现的字符串中的索引,从指定的索引开始向后搜索。
lastIndexOf(String name);返回指定子字符串最后一次出现的字符串中的索引。
lastIndexOf(String name, int fromIndex);返回指定子字符串的最后一次出现的字符串中的索引,从指定索引开始向后搜索。
10)length();字符串长度
11)replace(char oldChar, char newChar); 将一个字符串指定的所有的老字符替换成指定的新字符 , 它是新字符串 , 因为String 是不可改变类。
replaceAll(String old,String new);用给定的替换替换与给定的 regular expression匹配的此字符串的第一个子字符串。
12)String[] split(String regex); 截取其中入参为 . 或 * 要使用 \转义字符特殊处理
13) substring(int beginIndex); 从指定位置截取,到末尾返回一个字符串,该字符串是此字符串的子字符串。
substring(int beginIndex, int endIndex) 返回一个字符串,该字符串是此字符串的子字符串。包含头 , 不包含尾巴
4)toCharArray(); 将一个字符串变成char数组
15)toLowerCase(); 将字符串变小写
toUpperCase(); 将字符串变大写
16)trim(); 去掉当前字符串左右两边的空格
17)valueOf(); 重载方法
valueOf(boolean b) 返回 boolean参数的字符串 boolean形式。
仅用于个人学习总结