暴打老板3内置MOD菜单
64.11MB · 2025-10-23
随着JDK25
发布之后,首次引入了StableValue
语法糖,不过目前是预览属性,用于可延迟初始化的不可变值,这些对象在首次赋值之后即成为不可变
public class StableExample {
static void main(String[] args) {
var greeting = StableValue.<String>of();
String message = greeting.orElseSet(() -> "Hello World");
System.out.println(message);
}
}
输出结果为
public class StableExample {
static void main(String[] args) {
List<Integer> fiveTimesTable = StableValue.list(11, index -> index * 5);
System.out.println(fiveTimesTable);
System.out.println(fiveTimesTable.get(0));
}
}
输出结果为
当然该List是不可变的,往List里面增加或移除元素,就会报错
public class StableExample {
static void main(String[] args) {
List<Integer> fiveTimesTable = StableValue.list(11, index -> index * 5);
fiveTimesTable.add(1);
System.out.println(fiveTimesTable);
}
}
输出结果为
import java.util.function.Supplier;
public class StableValueDemo {
static void main() {
Supplier<String> supplier = StableValue.supplier(() -> "hello world");
System.out.println(supplier.get());
}
}
输出结果为
目前StableValues在JDK25
是预览状态,但标志着 Java 对启动优化与懒加载模式的再进化