亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java getUserObject() 返回字符串而不是用戶對象

Java getUserObject() 返回字符串而不是用戶對象

蠱毒傳說 2021-10-20 16:06:16
創建節點后,我想獲取一個 MyNodeUserObject,以便稍后調用 getFlops() 方法。但我無法將 userobject 轉換為 MyNodeUserObject。創建節點:MyNodeUserObject userObject = new MyNodeUserObject("aaa","AA-10");DefaultMutableTreeNode node = new DefaultMutableTreeNode(userObject);public static void visitAllNodes(DefaultMutableTreeNode node, JTree tree) {    //java.lang.ClassCastException: java.lang.String cannot be cast to MyNodeUserObject    MyNodeUserObject nodeInfo = (MyNodeUserObject) node.getUserObject();MyNodeUserObject.classpublic final class MyNodeUserObject{    private static final long serialVersionUID = 1L;    private final String flops;    private final String nodeName;    public MyNodeUserObject(String nodeName, String flops) {        this.flops = flops;        this.nodeName = nodeName;    }    public String getFlops() {        return flops;    }    public String getNodeName() {        return nodeName;    }    @Override    public String toString() {        return nodeName;    }tree.txt 的內容:節點名稱;IsFolder(true/false);Parent;Flopsmy range;true; ;a;false;我的范圍;AA,AKs,AKob;false;我的范圍;66,55,44,33,22c;false;我的范圍;JJ,TT,99,88
查看完整描述

1 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

查看您在注釋中鏈接的代碼,樹的根節點實際上確實包含String("<html><b>Ranges</b></html>") 作為其userObject.

鑒于此,您的選擇是

  • 用周圍的節點替換根節點MyNodeUserObject;這可能需要對該類進行一些更改才能正確處理根節點

  • visitAllNodes方法中添加一個特殊情況(instanceof MyNodeUserObject例如,檢查)

  • 確保visitAllNodes沒有用根節點調用


查看完整回答
反對 回復 2021-10-20
  • 1 回答
  • 0 關注
  • 397 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號