我正试图用TUI做一个小游戏.TUI应该有一个get()方法,该方法应该将a String question和return类型作为参数,因此您可以使用它来请求对象.
例如,get("What is your name?", String)应该返回一个String并且get("What color do you want?", Color)应该返回一个Color.
这就是我想出来的:
public interface View {
public <T> T get(String question, Class<T> type) throws InputException;
}
public class TUI implements View {
public Color get(String question, Class<Color> type) {
// code
}
public String get(String question, Class<String> type) {
// code
}
}
Color color = Game.getView().get("What piece do you want to place?", Color.class);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这些方法TUI不被接受为公共实现<T> T get(String question, Class<T> type) throws InputException;.有什么方法可以做到这一点吗?
小智 6
通过拆分函数保持类型安全似乎更合适:
Color color = Game.getView().getColor("What piece do you want to place?");
String string = Game.getView().getString("What piece do you want to place?");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |