Таблица на основе хэш-таблицы, возвращающая нуль

У меня есть функция, возвращающая значение null.

Пример ввода: String alice=table.get("Alice","Smith");

Вот мой код:

public void setTab() {
 table.put("Alice","Smith","Manager");
 ...
}

// get all persons with a surname of Smith
final Collection<string> smiths = table.column("Smith").values();

// get all persons with a firstName of Bob
final Collection<string> bobs = table.row("Bob").values();

// get a specific person
 final String alice=table.get("Alice", "Smith");

public void printSpecial() {
 System.out.println(alice);
 System.out.println(smiths);
 System.out.println(bobs);

}

public void prinTab() {
 for (Cell<string, string,string=""> cell: table.cellSet()){
 System.out.println(cell.getRowKey()+" "+cell.getColumnKey()+" "+cell.getValue());
 }
}
</string,></string></string>
1 ответ

Правильно, это null, потому что (если вы не скопировали код правильно), строка

final String alice=table.get("Alice", "Smith");

Вызывается при создании экземпляра класса. Тем не менее, ваша setTab() предположительно не вызывается до тех пор, пока она не появится. Вы можете исправить это, не устанавливая alice пока вы не вызвали setTab()

licensed under cc by-sa 3.0 with attribution.