Мне просто интересно, почему я получаю «не удается разрешить символ initialText» с помощью следующего кода.isItA - это логическое значение, которое пользователь выбирает ранее в зависимости от типа текста (A или B), который он собирается вставить в текстовую область.Есть 2 потенциальных строки для initialText, и та, которая выводится, зависит от логического значения isItA.Я не понимаю, почему эта ошибка появляется, когда я использую initialText вне оператора if / else;if находится внутри оператора if / else, компилятор должен иметь возможность разрешать строку за пределами права?В настоящее время я использую GWT в IntelliJ.На данный момент я все еще нерешительный человек в java, поэтому я бы очень хотел дать базовое объяснение того, почему это происходит :) Заранее спасибо.Фрагмент кода ниже.
protected TextArea getNewTextArea() {
if ( newTextArea == null ) {
if (isItA){
final String initialText = "Please paste valid text A here, and then
press" + "the \"" + Labels.ADD_A_BUTTON_TEXT + "\" button.";
}else{
final String initialText = "Please paste valid text B here, and then press " + "the \"" + Labels.ADD_B_BUTTON_TEXT + "\" button.";
}
newTextArea = new TextArea();
newTextArea.setText( initialText );
newTextArea.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent clickEvent ) {
// If the text is still the original text, then clear it.
if ( newTextArea.getText().equals( initialText ) ) {
newTextArea.setText( "" );
}
}
});
}
}