Java泛型键盘输入

标签 java generics java.util.scanner

我有一个类(class),其 edit()需要 fieldName 的方法和newValue作为参数并相应地编辑该字段。当然是这个fieldName必须是泛型类型<T>为了满足该类中不同类型的变量。用户必须通过键盘进行输入。

通过使用 Scanner对于用户输入,有没有办法从键盘请求通用值?

最佳答案

听起来泛型并不是您想要的。

当您想要支持任何给定类型时,可以使用泛型,并且您可以合理地了解您正在利用这种同质性做什么。

当涉及到用户输入时,您仅限于原始类型和String - 因此您面前的域已经非常狭窄,向其中添加泛型只会使输入变得困惑和复杂化。事情。

由于您没有真正解释您打算如何将 fieldName 绑定(bind)到 edit (而且我不认为您的意思是反射),我建议您依赖 newValue 及其需要绑定(bind)到的类型并从 Scanner 读取该类型。

关于Java泛型键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52692103/

相关文章:

java - 针对不同用户的JCMD

java - 如何使用 Jsoup 将数据发布到网站

java - AccessDecisionManager,如何添加RoleVoter

c# - 包含 Entity Framework 的通用 Find()

c# - 这是处理泛型独特属性的好方法吗?

java - 为什么带有 Scanner 的 If 语句不断循环

java - Java 中的 XMLGregorianCalendar,没有时区

java - 为什么泛型类型参数在 Java 中不能有下限?

java - 从字符串数组中解析 int 时出现 ArrayIndexOutOfBound

Java:查找平均线和编号线