是否可以将String变量转换为DefaultMutableTreeNode对象?
请解释。
内容:
String s = new String(outputTagName);
Object s2 = (Object) s;
DefaultMutableTreeNode selectedNode2 =(DefaultMutableTreeNode) s2;
DefaultMutableTreeNode parent2 =(DefaultMutableTreeNode) parent;
model.insertNodeInto(selectedNode2, parent2, parent2.getChildCount());
这是我写的代码。在以BreadthFirstSearch方式遍历树的枚举中使用它。
2nf行给我这个错误:
java.lang.ClassCastException: java.lang.String cannot be cast to javax.swing.tree.DefaultMutableTreeNode at ....
最佳答案
您不能将String对象转换为String或Object或String实现的接口之一(Serializable,CharSequence,Comparable)以外的任何类型。要将对象转换为某种类型,对象必须是这种类型。字符串对象的类型为字符串,而不是类型为DefaultMutableTreeNode。您甚至不能将DefaultMutableTreeNode设为String的子类(在这种情况下,可以进行强制转换),因为String类是最终的。