获取用户输入并将其分配给对象

时间:2014-11-21 01:03:02

标签: java string object

我使用扫描仪接收用户输入并将其分配给对象。我知道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;,但转换只是一个对象。

2 个答案:

答案 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关系