[Java débutant] méthode println sans spécification de type de collection

Question

J'ai récemment étudié la collection et j'ai eu des doutes, je vais donc la revoir dans l'article.

collection

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.

Traitement mystère que je ne pouvais pas comprendre

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 ...?

traitement 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.

Différence entre toString et valueOf

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.

Après tout toString

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
   }
}

résultat

J'ai pu mieux comprendre la sécurité des types et le remplacement.

référence

Recommended Posts

[Java débutant] méthode println sans spécification de type de collection
Collection de méthodes de code de test Java
Modèle de conception Java pour débutant (modèle de méthode d'usine)
[Java] Type Express Enum sans utiliser le type Enum (énumération)
Méthode Java
java (méthode)
[Débutant] Méthode / classe / bibliothèque externe Java [Note 23]
java débutant 3
java débutant
[Java] méthode
[Java] méthode
[Java SE 11 Silver] Résumé des méthodes de classe Arrays [Java débutant]
Conversion de type Java
[Java] Type d'énumération
Java Type facultatif
Référence de la méthode Java8
Réintroduction Java - Collection Java
[Java] méthode forEach
Exercices pour les débutants Java
Java double type
référence de la méthode java8
[Java] Méthode aléatoire
[Java] méthode de fractionnement
Mémo de spécification Java
[Java] Cadre de collection
Exercice Java "Débutant"
[Débutant] Méthode / encapsulation de champ de classe Java (getter setter) [Note 25]