java中如何初始化
初始化基本数据类型
基本数据类型(如int、double、boolean等)可以直接赋值:
int num = 10;
double price = 9.99;
boolean flag = true;
未显式初始化时,局部变量不会自动赋值(编译报错),而成员变量会赋予默认值(如int默认为0,boolean默认为false)。
初始化数组
使用花括号{}或new关键字:
int[] arr1 = {1, 2, 3}; // 直接初始化
int[] arr2 = new int[5]; // 默认值0
String[] names = new String[]{"Alice", "Bob"};
初始化对象
通过构造函数或工厂方法:
String str = new String("Hello"); // 构造函数
List<String> list = new ArrayList<>(); // 泛型对象
LocalDate date = LocalDate.now(); // 静态工厂方法
初始化集合
使用工具类(如Arrays.asList())或双括号初始化(匿名内部类):
List<Integer> numbers = Arrays.asList(1, 2, 3);
Map<String, Integer> map = new HashMap<>() {{
put("A", 1);
put("B", 2);
}};
静态初始化块
用于类成员的复杂初始化:
class Example {
static int[] values;
static {
values = new int[10];
for (int i = 0; i < 10; i++) {
values[i] = i * 2;
}
}
}
延迟初始化
通过lazy initialization优化性能,如单例模式:
class Singleton {
private static Singleton instance;
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}






