Android studio 的 live template
单例模式:双重锁懒汉模式(Double Check Lock):
private static $class$ INSTANCE = null;
private $class$() {
}
public static $class$ getInstance() {
if (INSTANCE == null) {
synchronized ($class$.class) {
if (INSTANCE == null) {
INSTANCE = new $class$();
}
}
}
return INSTANCE;
}
变量class选择 className
单例模式:静态内部类模式staticinner
public class $class${
private $class$() {
}
private static class SingletonInstance {
private static $class$ INSTANCE = new $class$();
}
public static $class$ getInstance() {
return SingletonInstance.INSTANCE;
}
}
变量class选择 fileNameWithoutExtension
android studio 插件 SingletonTest:
public class Test1 {
private static Test1 instance;
private Test1() {
}
public static Test1 getInstance() {
if (instance == null) {
instance = new Test1();
}
return instance;
}
}
public class Test2 {
private static Test2 instance;
private Test2() {
}
public static synchronized Test2 getInstance() {
if (instance == null) {
instance = new Test2();
}
return instance;
}
}
public class Test3 {
private static Test3 instance = new Test3();
private Test3() {
}
public static Test3 getInstance() {
return instance;
}
}
public class Test4 {
private static volatile Test4 singleton;
private Test4() {
}
public static Test4 getInstance() {
if (singleton == null) {
synchronized (Test4.class) {
if (singleton == null) {
singleton = new Test4();
}
}
}
return singleton;
}
}
public class Test5 {
private Test5() {
}
private static class SingletonInstance {
private static final Test5 INSTANCE = new Test5();
}
public static Test5 getInstance() {
return SingletonInstance.INSTANCE;
}
}
public enum Test6 {
INSTANCE;
}