Строка, работающая в IntelliJ, выдает ошибку в Eclipse

#java #eclipse #intellij-idea

#java #eclipse #intellij-идея

Вопрос:

Недавно мне пришлось перейти с IntelliJ на Eclipse, и хотя оба используют JDK 8, строка

 frameRate = String.format("%s FPS", frameCount); 
 

(где частота кадров — строка, а количество кадров — целое число) выдает ошибку в eclipse (с указанием frameCount must be an Object[] ), в то время как в IntelliJ работает отлично.

Комментарии:

1. Как вы настроили Eclipse на использование JDK8?

Ответ №1:

Ваш Eclipse компилирует ваш код с более старой версией JDK. Щелкните правой кнопкой мыши свой проект, перейдите к Properties , перейдите к Java Compiler и установите уровень соответствия 8.

В предыдущих версиях Java String.format метод ожидал a Object[] в качестве второго аргумента. В более новых версиях метод использует переменный параметр arity типа Object .