基于散列的表返回null

时间:2014-04-12 15:52:45

标签: java guava

我有一个返回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());
    }
}

1 个答案:

答案 0 :(得分:0)

是的,它是null,因为(除非你没有正确复制代码),行

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

在实例化类时调用。但是,您的setTab()函数可能在此之后的某个时间才被调用。您可以通过在调用alice

之后设置setTab()来解决此问题