我有以下类 AccountWebappGridRow,它扩展了 AccountGridRow:
public class AccountWebappGridRow<Accounts> extends AccountGridRow implements java.io.Serializable {
AccountGridRow 包含有这个字段:
private Map<Integer, Integer> balances;
使用公共(public) getter/setter:
public Map<Integer, Integer> getBalances() {
return balances;
}
public void setBalances(Map<Integer, Integer> balances) {
this.balances = balances;
}
有什么方法可以覆盖/替换继承的
private Map<Integer, Integer> balances;
在我的AccountWebappGridRow中...改为:
private Map<String, Integer> balances;
最佳答案
当然。您可以这样做……只要您可以提供一个映射,该映射允许您将Integer 键转换为String 键。
换句话说:您的类(class)知道整数键和值。当然,您现在可以添加另一个使用相同值的 map 。唯一需要的是您创建一个有意义的映射函数。 Meaningful 含义:符合您的要求的功能。我们不知道Map<String, Integer>
是什么内容应该持有;所以我们无法在此处告诉您如何正确映射键!
最简单的答案可能是使用
String stringKey = someIntegerKey.toString();
回复
Integer integerKey = Integer.parseString(stringKey);
有了这些映射,您现在可以使用内部映射并创建一个再次使用整数的“结果”映射。
换句话说:您可以将新 map 添加到您的类(class);或者你可以完全重做你的类(class)并改变它 balances
字段以使用不同的 key 。所有这些都只是“工作”——并且所有这些都依赖于您定义您如何从 Integer 到 String 键;反之亦然。
关于java - 我可以用 Map<String, Integer> 覆盖 Map<Integer, Integer> 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44885280/