我有一个类(class),其 edit()
需要 fieldName
的方法和newValue
作为参数并相应地编辑该字段。当然是这个fieldName
必须是泛型类型<T>
为了满足该类中不同类型的变量。用户必须通过键盘进行输入。
通过使用 Scanner
对于用户输入,有没有办法从键盘请求通用值?
最佳答案
听起来泛型并不是您想要的。
当您想要支持任何给定类型时,可以使用泛型,并且您可以合理地了解您正在利用这种同质性做什么。
当涉及到用户输入时,您仅限于原始类型和String
- 因此您面前的域已经非常狭窄,向其中添加泛型只会使输入变得困惑和复杂化。事情。
由于您没有真正解释您打算如何将 fieldName
绑定(bind)到 edit
(而且我不认为您的意思是反射),我建议您依赖 newValue
及其需要绑定(bind)到的类型并从 Scanner
读取该类型。
关于Java泛型键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52692103/