Эта программаКонкатенация к нулевой переменной производит неожиданный результат в Java
public class OddBehavior {
public static void main(String[] args){
String[] words = new String[3];
words[0] += "ify";
System.out.println(words[0]);
}
}
имеет следующий вывод:
Я инициализирован массив 3 String
с, что я думал, что будет null
, Но, добавив строку «римента» до конца words[0]
, то words[0]
получил значение "nullify"
, то есть он уже содержал Строка "null"
(String
, а не значение null
!)
@ChrisMiddleton Читать это [ответ] (http://stackoverflow.com/questions/4260723/concatenating-null-strings-in-java/4260803#4260803). –
Нет ни одного хорошего ответа. Если боги Java объявили, что «строка значения« null »должна печататься как пустая строка», тогда кто-то прямо сейчас будет размещать SO, спрашивая, не было бы лучше напечатать «нуль» вместо этого. Это просто решение, которое было принято, не лучше или хуже, чем другое решение. –