guava中Table的get方法取值为null

作为刚入手的小白来记录下这个大坑。
Table<Object,Object, Object> echarsList = HashBasedTable.create();
echarsList.put(日期(行),名称(列),数值(值));
echarsList.get(日期, 名称);返回数值结果为null
原因:类型对应不上,put放值时日期类型为date类型; get取值时日期为string类型,
结论:Table的get方法取值返回空,一大部分原因是类型不匹配

Table接口方法如下:

方法 描述
设置<Table.Cell <R,C,V >> cellSet() 返回集合中的所有行键/列键/值三元组
void clear() 从表中删除所有映射。
Map <R,V>列(C columnKey) 返回在给定列键的所有映射的视图。
设置 columnKeySet() 返回一组具有表中的一个或多个值的列键。
Map <C,Map <R,V >> columnMap() 返回关联的每一列键与行键对应的映射值的视图
boolean contains(Object rowKey,Object columnKey) 返回true,如果表中包含与指定的行和列键的映射
boolean containsRow(Object rowKey) 返回true,如果表中包含与指定的行键的映射关系。
boolean containsValue(Object value) 返回true,如果表中包含具有指定值的映射。
boolean equals(Object obj) 比较指定对象与此表是否相等。
V get(Object rowKey,Object columnKey) 返回对应于给定的行和列键,如果没有这样的映射存在值,返回null。
int hashCode() 返回此表中的哈希码。
boolean isEmpty() 返回true,如果表中没有映射。
V put(R rowKey,C columnKey,V value) 关联指定值与指定键。
void putAll(表<?extends R,?extends C,?extends V> table) 复制从指定的表中的所有映射到这个表。
V remove(Object rowKey,Object columnKey) 如果有的话,使用给定键相关联删除的映射。
Map <C,V> row(R rowKey) 返回包含给定行键的所有映射的视图。
设置 rowKeySet() 返回一组行键具有在表中的一个或多个值。
Map <R,Map <C,V >> rowMap() 返回关联的每一行按键与键列对应的映射值的视图。
int size() 返回行键/列键/表中的值映射关系的数量。
Collection values() 返回所有值,其中可能包含重复的集合。

可参考:https://www.yiibai.com/guava/guava_table.html

猜你喜欢

转载自blog.csdn.net/weixin_43474476/article/details/100554027