Ich habe Effektives Java-Buch gelesen und ich hatte eine Frage zur Namenskonvention für Methoden, wann sollte ich toType und asType verwenden? Zum Beispiel haben wir toString, toArray und wir haben asList. Warum haben wir es nicht zu List aufgerufen, anstatt asList zu verwenden?
Es klingt Idiot Frage, aber ich bin nur neugierig auf die Unterschiede?
Ich habe das aus einem anderen Thread gelesen: "Wenn die Methode dieselbe Instanz zurückgibt, aber in einen anderen Typ umgewandelt wird, verwenden Sie die AsXXX-Methode. Wenn die Methode eine neue Instanz eines nicht verwandten Typs unter Verwendung von Objektdaten erstellt, verwenden Sie die ToXXX-Methode." Aber warum unterscheidet es sich von Array zu Liste und Liste zu Array in Java?
Der Unterschied zwischen asX
und toX
kann durch Arrays.asList
veranschaulicht werden.
Arrays.asList
verwendet ein Array und erstellt eine Liste, die von diesem Array unterstützt wird:
Gibt eine Liste fester Größe zurück, die vom angegebenen Array unterstützt wird. (Ändert die zurückgegebene Liste durch das Array.)
Es erstellt keine unabhängige Liste.
Auf der anderen Seite erzeugen Methoden wie toString
und toArray
eine neue Instanz unabhängig von der Eingabe, aus der sie erstellt wurde.
Mit anderen Worten, asX
nimmt ein Objekt eines Typs und erstellt eine Ansicht dieses Objekts eines anderen Typs. toX
verwendet ein Eingabeobjekt und erstellt ein neues Objekt eines anderen Typs, initialisiert durch das Eingabeobjekt.
Tags und Links java