Comment faire pour utiliser des chaînes de caractères.format en java 8?

Aujourd'hui, j'ai écrit un programme simple dans eclipse Kepler dans java 8. En fait, j'ai copié à partir d'une vidéo tutoriel. Dans ce tutoriel, il a couru, mais dans mon ordinateur, il n'a pas. Ligne d'erreur est

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

Je ne comprends pas quelle est l'erreur ici.
Il met en évidence la méthode format(String,object[]) dans le type String ne sont pas applicables pour les 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());
    }
}
  • Comme l'exception des états, vous devez fournir à la mise en forme des arguments dans un tableau, non pas comme des arguments personnels.
  • À l'aide de Java 8 ici. Je ne peux pas reproduire cette erreur. Pourriez-vous nous montrer du code plus? Et êtes-vous sûr que vous êtes à l'aide de Java 8 trop?
  • String.format est introduit dans Java 5 et depuis lors, il accepte Object..., je ne comprends juste pas comment ypu abusé de la bibliothèque standard pour obtenir ce résultat.
  • Lire ceci: qu'est-Ce que "compilateur niveau de conformité" dans Eclipse?, définissez votre niveau de java 8 et puis être heureux.