Формат метода (String, Object ) в типе String не применим для аргументов (…)

Вот мой код:

int hoursFormat = 1, minsFormat = 2, secsFormat = 3; String timeFormat = String.format("%02d:%02d:%02d",hoursFormat, minsFormat, secsFormat); 

Это дает ошибку компиляции:

 Unresolved compilation problem: The method format(String, Object[]) in the type String is not applicable for the arguments (String, int, int, int) 

Почему я получаю эту ошибку здесь и как ее исправить?

У меня была аналогичная проблема с printf. Я использую JDK 1.6.0_27. Установка уровня соответствия на 1.6 решила мою проблему. Это можно установить следующим образом.

Проект> Свойства> Компилятор Java

Вы также можете обратиться к следующему разделу:

Почему я получаю ошибки компиляции с помощью простого printf?

Вы используете Java версии 1.4 или ниже? Автобоксинг не был введен до Java 5. Попробуйте вручную бокс int s для Integer s.

У вас есть jdk 1.4 или ниже. Метод String.format () вводится в Jdk 1.5 .

Взгляните на пост coderanch .

Я собираюсь голосовать за чистую сборку. Нет причин, по которым это должно быть неудачно, особенно, когда вы пытаетесь вручную боксировать Integer. Вы используете Eclipse? Иногда это путается, и вам просто нужно все перестроить.

Подпись формата:

 public static String format(String format, Object ... args) { return new Formatter().format(format, args).toString(); } 

и, похоже, никаких ошибок в вашем коде нет, потому что мое предложение попытается запустить это с помощью консольного приложения без использования какой-либо IDE (для целей тестирования).

Вы используете eclipse?

Иногда случаются такие проблемы, когда все кажется правильным. Вот как я только что решил это:

  • Щелкните правой кнопкой мыши по проекту и перейдите к свойствам-> Компилятор Java
  • Вы увидите недавний уровень соответствия компилятора (1.7 в моем случае), установленный в раскрывающемся списке («уровень соответствия компилятора»). Также такая же версия показана ниже в разделе «Сгенерированные совместимости файлов .class» и «Совместимость источников».

Теперь:

  • Установите флажок «Использовать настройки соответствия по умолчанию»
  • Обратите внимание, что более низкая версия (в моем случае 1.1) была установлена ​​для: «Сгенерирована совместимость файлов .class» и «Совместимость источников». Это проблема, хотя eclipse показывает, что она компилируется с использованием более высокого компилятора, а это не так.
  • В раскрывающемся списке «Уровень соответствия компилятора» выберите другой уровень, а затем выберите тот, который вы хотите. Изменения будут отражены ниже в разделе «Сгенерированные совместимости файлов .class» и «Совместимость источников».

Это должно было решить проблему.

  • Строка Parse C # в DateTime
  • Как печатать двойной с двумя десятичными знаками в Android?
  • Установить формат даты по умолчанию c #
  • Как получить формат строки даты (шаблон) в java?
  • Изменение формата даты в R
  • Как форматировать вывод печати или строку в фиксированную ширину?
  • Изменение формата даты на yyyy-mm-dd
  • Как выводить сериализованные данные представления JSON в виде массива объектов, а не обертывать внешний объект?
  • Как отредактировать частичный формат в Rails?
  • Как использовать java.String.format в Scala?
  • Как анализировать дату в Date?
  • Давайте будем гением компьютера.