Wie die Verwendung von String.format in java 8?

Heute schrieb ich ein einfaches Programm in eclipse Kepler in java 8. Eigentlich kopiert habe ich es von einigen video-tutorial. In diesem tutorial, es lief, aber im Arbeitsplatz ist es nicht. Fehler Zeile ist

 String.format("%02d:%02d:%02d",hour,minute,second);

Ich verstehe nicht, was der Fehler ist hier.
Es hebt die Methode format(String,object[]) in der Art String sind nicht anwendbar für die argument(String, int, int, int)

public class Demo {

private int hour;
    private int second;
    private int minute;

    public void setTime(int h,int m,int s){
        hour=((h>=0 && h<24)?h:0);
        minute=((m>=0 && m<60)?m:0);
        second=((s>=0 && s<60)?s:0);
    }

    public String railwayTime(){
        return String.format("%02d:%02d:%02d",hour,minute,second);//error in this line
    }

    public String regular(){
        return String.format("%02d:%02d:%02d %s",((hour==0 ||hour==24)?12:(hour%12)), minute, second, (hour>=12)?"AM":"PM");//error in this line
    }
}

public class ShowTime {
    public static void main(String[] args){
        Demo d=new Demo();
        System.out.println(d.railwayTime());
        System.out.println(d.regular());
    }
}
  • Als der Ausnahme-Staaten, müssen Sie die Formatierung der Argumente als array und nicht als einzelne Argumente.
  • Mit Java 8 hier. Kann ich nicht reproduzieren diesen Fehler. Glauben Sie, Sie könnten uns zeigen, einige mehr code? Und sind Sie sicher, dass Sie mit Java 8 auch?
  • String.format ist eingeführt in Java 5 und da es dann akzeptiert Object... ich verstehe einfach nicht, wie hat man missbraucht, die standard-library zu bekommen dieses Ergebnis.
  • Lesen Sie diese: Was ist "compiler compliance level" in Eclipse?, setzen Sie Ihre Ebene, um java 8 und dann glücklich sein.
Schreibe einen Kommentar