Aquí está mi código:
int hoursFormat = 1, minsFormat = 2, secsFormat = 3; String timeFormat = String.format("%02d:%02d:%02d",hoursFormat, minsFormat, secsFormat);
Esto da un error de comstackción:
Unresolved comstacktion problem: The method format(String, Object[]) in the type String is not applicable for the arguments (String, int, int, int)
¿Por qué recibo este error aquí y cómo puedo solucionarlo?
Tuve un problema similar con printf. Estoy usando JDK 1.6.0_27. Establecer el nivel de cumplimiento en 1.6 resolvió mi problema. Esto se puede configurar de la siguiente manera.
Proyecto> Propiedades> Comstackdor de Java
También puede consultar el siguiente hilo:
¿Por qué recibo un error de comstackción con un simple printf?
¿Estás usando Java versión 1.4 o inferior? Autoboxing no se introdujo hasta Java 5. Intente manualmente boxing int
s a Integer
s.
Tienes jdk 1.4
o una versión inferior. El método String.format () se introduce en Jdk 1.5
.
Echa un vistazo a la publicación coderanch .
Voy a votar por una construcción limpia. No hay ninguna razón por la que deba fallar así, especialmente cuando intenta boxear manualmente en Entero. ¿Estás usando Eclipse? A veces se confunde, y solo tienes que reconstruir todo.
La firma del formato es:
public static String format(String format, Object ... args) { return new Formatter().format(format, args).toString(); }
y parece que no hay ningún error en su código, para mi sugerencia intente ejecutar esto con la aplicación de consola sin usar ningún IDE (para fines de prueba).
¿Estás usando eclipse?
Si es así, a veces aparecen problemas como este, cuando todo parece correcto. Así es como lo acabo de resolver:
Ahora:
Esto debería haber resuelto el problema.