Почему у меня возникла ошибка The local variable arcType may not have been initialized
?Ошибка инициализации строки
первый случай:
String arcType;
if (//somecondition) {
arcType += "Test"; // Here it show the error
System.out.println(arcType);
}
Но ниже рабочего штрафа.
второй случай:
String arcType = null;
if (//somecondition) {
arcType += "Test"; // It's working fine
System.out.println(arcType);
}
Output of the above program : nullTest
Если я инициализировать мой String
с space
затем space
СЦЕПИТЬ с Test. Использование обрезки будет удалено, но я не хочу использовать обрезку.
Мой вопрос являются:
Почему я получил
The local variable arcType may not have been initialized
ошибку в первом случае?Во втором случае, когда я инициализировал свою строку
null
, то почему я получил выводnullTest
?
Я хочу выход только Test
.
Локальные переменные не имеют значения по умолчанию – iMBMT
Инициализируйте свою строку правильно, 'String arcType =" ";' Также строки неизменяемы. Каждый раз, когда вы делаете изменения в любой String, он создает новую String. Вы должны использовать StringBuilder. – user2004685