Ich habe kürzlich die Sammlung studiert und hatte einige Zweifel, daher werde ich sie im Artikel überprüfen.
Wenn Sie bei Verwendung von List kein Typargument angeben, wird es beim Speichern als ** Objekttyp ** verarbeitet.
Ich habe eine Variable vom Typ ** String ** in die Liste eingefügt, aber da ich den Typ der Liste nicht angegeben habe, wird sie zum ** Objekttyp **, und ** die Zeichenfolge ** dieses Objekts wird von println angezeigt ...?
Rufen Sie die ** valueOf ** -Methode des im Argument von ~~ println enthaltenen Objekts auf, um die Zeichenfolge anzuzeigen. ~~ <Behoben 2019/05/24> Die Verarbeitung erfolgt durch Angabe des Arguments println () an das Argument der statischen Methode valueOf () der String-Klasse.
Die toString-Methode gibt eine Folge von Instanzen zurück. Die valueOf-Methode ruft die toString-Methode des Objekts auf, wenn das als Argument übergebene Objekt nicht null ist.
valueOf gibt schließlich auch die Zeichenfolge für dieses Objekt zurück.
User.java
public class User{
private String name;
public User(String name){
this.name = name;
}
public String toString(){
return name;
}
}
Main.java
public class Main{
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add(new User("sample"));
System.out.println(list.get(0)); //sample
}
}
Ich konnte die Typensicherheit und das Überschreiben besser verstehen.
Recommended Posts