J'ai récemment étudié la collection et j'ai eu des doutes, je vais donc la revoir dans l'article.
Si vous ne spécifiez pas d'argument de type lors de l'utilisation de List, il sera traité en tant que ** Type d'objet ** lors de son stockage.
J'ai mis une variable ** Type de chaîne ** dans la liste, mais comme je n'ai pas spécifié le type de la liste, elle devient ** Type d'objet **, et ** la chaîne de caractères ** de cet objet est affichée par println ...?
Appelez la méthode ** valueOf ** de l'objet contenu dans l'argument de ~~ println pour afficher la chaîne de caractères. ~~ <Fixé 2019/05/24> Le traitement est effectué en donnant l'argument de println () à l'argument de la méthode statique valueOf () de la classe String.
La méthode toString renvoie une chaîne d'instances. La méthode valueOf appelle la méthode toString de l'objet si l'objet passé en argument n'est pas nul.
valueOf renvoie également la chaîne de cet objet.
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
}
}
J'ai pu mieux comprendre la sécurité des types et le remplacement.
Recommended Posts