Java-如何将方法的返回类型作为参数传递?

HYBR1D:

我正在尝试使用TUI制作小型游戏。TUI应该具有一个get()方法,方法应使用String question和返回类型作为参数,因此您可以使用它来请求对象。

例如,get("What is your name?", String)应返回Stringget("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);

不幸的是,中的方法TUI不被接受为public的实现<T> T get(String question, Class<T> type) throws InputException;有什么办法可以做到吗?

艾伦·布莱斯(Alan Blyth):

通过拆分功能来保持类型安全似乎更合适:

Color color = Game.getView().getColor("What piece do you want to place?");
String string = Game.getView().getString("What piece do you want to place?");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将对象类型作为参数传递给构造函数并向其强制转换变量(JAVA)?

如何将解析的字符串转换为枚举类型作为Java中的参数

如何在Java中将类型作为方法参数传递

如何在Java中使用方法引用符号(Class :: method)将方法作为参数传递?

将类型参数作为类型参数的类传递给Java中的泛型方法

将泛型类型枚举作为参数传递(java)

如何将文件作为参数传递给使用JAR Bundler创建的Java应用程序?

Java:如何将类类型参数强制为与通用方法中指定的通用类型相同?

如何将类型作为参数传递

Java如何避免将Class作为通用对象的参数传递

将字段名称/类型作为参数传递给Java中的方法

如何将Swift类型作为方法参数传递?

Java8使用Lambda将方法作为参数传递

在Java 8之前将方法作为参数传递

Java-如何将方法作为参数传递?

将Java与Matlab结合使用:将Class类型作为方法参数传递

将方法作为Java方法的参数传递

Android / Java-将变量作为参数传递给方法

如何将char数组从C JNI函数作为字节传递给Java方法[]

如何将XML文件内容作为命令行参数传递给Java命令?

如何将结构作为参数传递给Java函数或如何从jni返回到Java

如何将 Map 类型的参数从 Java 传递给 orientdb groovy 函数

Java:如何将动态数量的参数传递给方法

如何将要创建的对象作为 Java 方法的参数传递?

如何将多个(未知数)对象(作为参数)传递给函数 - Java Script

如何将数组作为参数传递给 Java 图形函数?

如何将区域作为 aws java lambda 函数的查询参数传递

如何在 Java 中将类型作为参数传递?

将方法(java)中的值作为参数传递