Arv*_*nem 1 java hashmap wrapper
对于我的交易程序,Merchant对象具有使用布尔值枚举的Qualities的HashMap质量.
public class Merchants {
private Map<Qualities, Boolean> qualities = new HashMap<Qualities, Boolean>();
Run Code Online (Sandbox Code Playgroud)
我想给每个Merchant对象一个真实质量的进一步ratingQualities HashMap,用Byte或Integer值表示这些质量的等级.
例如,给定的商家可能具有与其真实股票经纪质量相关联的"1"评级.
问题是Java不允许我轻易做到这一点.以下代码演示了我的意图,但没有编译:
private Map<qualities-TRUE, Byte> ratedQualities = new HashMap<qualities-TRUE, Byte>();
Run Code Online (Sandbox Code Playgroud)
根据这个链接文本,一个解决方案是为HashMap的质量创建一个包装器.这是唯一的解决方案还是有更好的方法?
在此先感谢您的帮助.
以下是使用ThomasLötzer和其他人提出的想法实现Merchant的实现.
class Merchant
{
Map<Quality, Integer> ratings = new HashMap<Quality, Integer>();
boolean hasQuality(Quality quality)
{
return ratings.containsKey(quality);
}
int getRatingOfQuality(Quality quality)
{
Integer rating = ratings.get(quality);
return (rating != null) ? rating : 0;
}
void setRatingOfQuality(Quality quality, int rating)
{
ratings.put(quality, rating);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
683 次 |
最近记录: |