2016-09-23 5 views
-2

Попытка объявить строку в Java внутри основного метода приложения консоли.Объявление строки Java IntelliJ IDEA

String s = "this is some text"; 

Я получаю красное подчеркивание, говорящее, что «класс» или «интерфейс» ожидаются.

Если изменить код для чтения

String s = new String("this is some text"); 

все работает, или, по крайней мере, код компилируется. Использование JDK 1.8 и недавно обновили IDE до версии 2016.2.4.

Это происходит только при объявлении новой строки, все другие объявления типа и инициализацию работать без объявления нового экземпляра, т.е.

INT I = 0;

Кто-нибудь знает, почему первая декларация не будет работать?

Подобное поведение проявляется при попытке записи в консоль,

System.out.println("this is some text"); 

Слово «текст» красный подчеркнутый говорят «класс» или «интерфейс» ожидается.

EDIT: класс всего по запросу

package Sandbox; 

public class Main { 

    public static void main(String[] args) { 
     System.out.println("this fails"); 
    } 
} 

однако

package Sandbox; 

public class Main { 

    public static void main(String[] args) { 
     System.out.println(new String("this works")); 
    } 
} 

См скриншот ниже фактического кода в IDE. Комментарии приветствуются.

+3

показать нам весь класс/код, в котором вы делаете это – TheLostMind

+0

Это могло быть вызвано из-за к недостатку в структуре вашей программы. Возможно, вы не согласны с брекетами. – progyammer

+0

Вы импортировали 'com.sun.org.apache.xpath.internal.operations.String'? –

ответ

2

Похож на проблему с языковыми инъекциями в IntelliJ. https://www.jetbrains.com/help/idea/2016.2/using-language-injections.html

Отключить языковые инъекции. Это должно исправить вашу проблему.

похожа проблема с Println методой и струной описывается здесь и был решен Дерегистрацией Println из строки инъекций: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206836685-System-out-println-hello-analyze-error

+0

Похоже, это может быть реальное решение, спасибо. Это не первый проект, который у меня был в IDEA, хотя мне любопытно, что изменилось. Это не обновление IDE, и JDK не изменился. Однако, спасибо. –

+0

Это была функция println. Я отменил регистрацию, и все было в порядке. Принято как ответ, спасибо. Хотелось бы узнать, как это изменилось между версиями, но неважно, вы его исправили, и это все, о чем я забочусь. –

Смежные вопросы