2016-07-03 5 views
0

私は文字列を持っていればオブジェクトを使用できますか?私はClass 'Student'のObject 'John'を持っています。 Class 'Student'にはArrayListの 'friends'があります。 String(オブジェクトの名前)を使用してObject 'John'にアクセスしたいです。私が正しく理解していれば、あなたが学生の名前をプリントアウトしたいオブジェクトを文字列で使用しますか?

+0

私はあなたがパラメータとして文字列を受け取り、クラスの学生のためのコンストラクタを作りたいと思います。関数 "addFriend"よりも生徒オブジェクトを作成し、新しく作成したオブジェクトを生徒の友人リストに追加し、生徒のtoStringメソッドをオーバーロードして簡単に印刷できます。 –

答えて

0

:(例では2行目)

public void addFriend(Student student, String friend) throws IOException{ 
     student.friends.add(friend); 
     System.out.println("Friend: " + friend + " added to List of " + student); 
    } 

は、私は(/私は私のひどい英語のため申し訳ありません)あなたは私が何を意味するか理解してほしいです変数studentを使ってこの場合、学生クラスの中のtoString()メソッドをオーバーライドして、その学生の名前を返すことができます。たとえば、次のように

public class Student { 
    private String firstName; 
    private String lastName; 

    // ... Other methods 

    // here is the toString 
    @Override 
    public String toString() { 
     return firstName + " " + lastName; 
    } 
} 

次にあなたが生徒の名前を印刷するために、このような何かを行うことができます。

System.out.println("Friend: " + friend + " added to List of " + student.toString()); 
1

あなたがこの問題のためにマップを使用することができます。

Map<String, Student> friends = new HashMap<String, Student>(); 
friends.put("John", objectOfJohn); 
Student target = friends.get("John"); 
関連する問題