2016-07-03 73 views
0

如果我只有字符串,是否可以使用對象?我從班'學生'有一個對象'約翰'。在類'學生'是一個ArrayList'朋友'。我想通過使用String(對象的名稱)來訪問Object'John'。 (第2行中的例子)按字符串使用對象?

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

我希望你明白我的意思(我對不起我的可怕的英語:/)

+0

我想你會想讓類Student接受一個字符串作爲參數的構造函數。在函數「addFriend」中構造一個學生對象,將新創建的對象添加到學生的朋友列表中,並重載該類的Student's toString方法,以便您可以輕鬆地打印它。 –

回答

0

如果我理解正確的話,你想打印出來名學生使用變量學生。如果是這種情況,您可能需要覆蓋返回該學生姓名的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");