单例设计模式
饿汉式
//饿汉,很饥饿,创建对象的时候就直接new
public class Singleton {
//创建实例的时候就new
private static Singleton instance = new Singleton();
// 私有化构造方法,外部不能new
private Singleton() {
}
//公有的静态方法,返回实例对象
public static Singleton getInstance() {
//直接将事先new好的实例返回
return instance;
}
}
好处:线程安全
坏处:加载速度慢
懒汉式
//懒汉
public class Singleton {
//创建实例的时候赋值null
private static Singleton instance = null;
// 私有化构造方法,外部不能new
private Singleton() {
}
//公有的静态方法,返回实例对象
public static Singleton getInstance() {
//判断是否存在实例,有的就不再new
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
好处:加载速度快
坏处:线程安全
字符串转数字、数字转字符串
字符串转数字
//转换为 xxx.parsexxx
String str = "123";
int i = Integer.parseInt(str)
数字转字符串
//转换为 xxx.valueofxxx
int i = 123;
String str = i + ""; //方法一
String str = String.valueOf(i);
包装类
所有包装类都是final类型,因此不能创建他们的子类。
基本数据和包装类之间的转换
装箱:基本数据类型转换为包装类;
拆箱:包装类转换为基本数据类型。
JDK5.0 以后具有自动装箱拆箱功能
基本数据类型和包装类的转换
通过包装类 Integer.toString() 将整型转换为字符串;
通过 Integer.parseInt() 将字符串转换为 nt 类型;
通过 xxx.valueOf() 方法把字符串转换为包装类然后通过自动拆箱。
String str = "123";
int u = Integer.parseInt(str);
String str1 = String.valueOf(u);
System.out.println(str1);
System.out.println( 1 + str1 + 1);
//输出
123
11231