我使用扫描仪接收用户输入并将其分配给对象。我知道string是对象类的扩展,所以它应该是一个简单的赋值。这是我尝试过的。
string name = s.nextLine();// or s.next();
object obj = name;// or JOSN.parse(name);
这是我的代码。我放了一个arraylist而不是另一个arrraylist。
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);
}}
我得到的错误是&#39;类型不匹配,无法将类型字符串转换为转换&#39;,但转换只是一个对象。
答案 0 :(得分:1)
OBJECT
/ \
Transition String
这就是层次结构的样子。
Transition is a subclass of Object
,就像String is a subclass of Object
一样。
如果两个类位于同一层次结构链中,则可以将子类的实例安全地转换为超类的实例。在这种情况下,Transition and String
不在同一个链中。
请参阅here以获取更多信息。我基本上只问你一个问题,然后投票。 :)
答案 1 :(得分:0)
当我们进行投射时,必须具有IS-A关系。均值,字符串IS-A对象和转换IS-A对象。
但是当我们尝试在String和Transition上建立关系时,我们看到,转换NOT(IS-A)字符串。
这会给你铸造问题,我们必须记住每当我们尝试任何Casting时,必须在层次结构中,与另一个具有IS-A关系。