接受用户输入并将其分配给对象
问题描述:
我正在使用扫描仪进行用户输入并将其分配给对象。我知道字符串是对象类的扩展,所以它应该是一个简单的赋值。这是我试过的。接受用户输入并将其分配给对象
string name = s.nextLine();// or s.next();
object obj = name;// or JOSN.parse(name);
这是我的代码。我已经把一个数组列表替换成另一个数组列表。
trans = new List<Transition>(nos);
for (i = 0; i < 5; i++) {
List<Transition>innerList = trans.get(i);
for (j = 0; j < 5; j++){
String state = s.next();
Transition reg = innerList.get(j).add(state);
}}
我得到的错误是'type mismatch cant convert type string to Transition',但Transition只是一个对象。
答
OBJECT
/ \
Transition String
这就是层次结构的样子。
Transition is a subclass of Object
,就像String is a subclass of Object
一样。
如果两个类在同一个层次链中,那么可以安全地将一个子类的实例转换为超类的实例。在这种情况下,Transition and String
不在同一个链中。
参考here了解更多信息。我基本问了你的问题,并得到了downvote。 :)
+0
@请注意看答案 – 2014-11-21 02:12:39
答
当我们正在铸造它必须有IS-A关系。意思是,字符串IS-A对象和转换IS-A对象。
但在这个时候,我们争取在串并转换,我们看到的关系,不能转换(IS-A)字符串。
这会给你铸造的问题,我们必须记住,每当我们尝试任何铸造它必须在层次结构中,与其他IS-A关系。
post more code,what is innerList – 2014-11-21 01:15:37
我更新了我的问题 – Will 2014-11-21 01:27:14