今天我正在浏览这个网站上的一些问题,我发现提到了一个enum 单独使用模式的关于这种解决方案所谓的线程安全的好处.
我从来没有使用过enums,而且我已经用Java编程了好几年了.显然他们改变了很多.现在他们甚至在自己内部全力支持OOP.
我看到在我的ENUM的java代码声明中声明了一个"instance"关键字.有人解释了这个关键字的工作原理吗?
Java代码: -
public enum TodoDao {
instance;
private Map<String, Todo> contentProvider = new HashMap<String, Todo>();
private TodoDao() {
Todo todo = new Todo("1", "Learn REST");
todo.setDescription("Read http://www.vogella.com/articles/REST/article.html");
contentProvider.put("1", todo);
todo = new Todo("2", "Do something");
todo.setDescription("Read complete http://www.vogella.com");
contentProvider.put("2", todo);
}
public Map<String, Todo> getModel(){
return contentProvider;
}
}
Run Code Online (Sandbox Code Playgroud) 我是初学者Java学生.所以任何帮助将不胜感激!
我设计了一个类卡和类甲板,我将在我创建的游戏中使用它.到目前为止,我的游戏似乎运行得很好,但我遇到的问题在于我的卡类.我想利用我的getRank()方法来积累玩家所拥有的牌的积分(不论其合适).
例如,如果他们画了2个钻石,那么它将值2分,3分3分......等等.我已经创建了一个String[]调用ranks来尝试这样做,我认为这就是它的作用.但是,我希望所有面部卡片(如国王,女王......)的值都为10.但并非所有这些卡片都位于我的阵列中的索引10处.我可以就如何调整此问题提供一些指导吗?
先感谢您.
int rank;
int suit;
String[]ranks = { " "," ", " " } //all 13 ranks from Ace to King
String[]suits = { " ", " ", " "} //all ranks
public Card(int rank, int suit){
this.rank = rank;
this.suit = suit;
}
public void setRank(int rank){
this.rank = rank;
}
public int getRank(){
return rank;
}
//more code for suits
public String toString(){
return ranks[rank]+" of "+suits[suit];
}
Run Code Online (Sandbox Code Playgroud)