У меня была ошибка при просмотре онлайн-продукта, код такой, но NullPointedException
беспокоит меня, эта ошибка появляется только один раз, и я не могу появиться снова. Я не могу понять, почему ArrayList
это [null, 1]
:
public void test4() {
class PlayerTask {
List<Integer> targetValueList;
List<Integer> getTargetValueList() {
if (null == targetValueList) {
init();
}
return targetValueList;
}
private void init() {
targetValueList = new ArrayList<>();
targetValueList.add(Integer.parseInt("1"));
}
}
PlayerTask task = new PlayerTask();
//some code1
new Thread(() -> {
task.getTargetValueList().get(0); // NullPointException ,real array is [null, 1]
}).start();
//some code2
new Thread(() -> {
task.getTargetValueList().size();
}).start();
// some code ...
new Thread(() -> {
task.getTargetValueList().get(0);
}).start();
// ....
///task.getTargetValueList().get(..)...
}