java报空指针怎么查找_这段代码一直报空指针,找不到解决方案

已结贴√

问题点数:20 回复次数:15

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

这段代码一直报空指针,找不到解决方案

//这个是domain里边的

package edu.njcc.rj1621.domain;

import java.util.ArrayList;

import java.util.List;

public class ObjectTreeNode {

private Object object;

private List children;

public ObjectTreeNode() {

this.children= new ArrayList();

}

public ObjectTreeNode(Object object) {

this.object = object;

}

public Object getObject() {

return object;

}

public void setObject(Object object) {

this.object = object;

}

public List getchildern() {

return children;

}

public void setList(List children) {

this.children = children;

}

public void addChild(ObjectTreeNode obj){

this.children.add(obj);

};

}

//这个是Client里边的 可以忽略showBbsTree这个方法 因为还没运行到那 是在list2Tree里边报错的 我会在后边贴运行结果

package edu.njcc.rj1621.client;

import java.util.List;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import edu.njcc.rj1621.domain.Bbs;

import edu.njcc.rj1621.domain.BbsTreeNode;

import edu.njcc.rj1621.domain.ObjectTreeNode;

import edu.njcc.rj1621.service.BbsSvr;

import edu.njcc.rj1621.service.BbsSvrImpl;

public class CopyOfTestBbsQueryList {

public static void main(String[] args) {

BbsSvr bbsSvr = new BbsSvrImpl();

List list = bbsSvr.queryBbsList(1);

ObjectTreeNode ob = new ObjectTreeNode();

Object list2 = list;

for (Bbs bbs : list) {

if (bbs.getBbsPid() == 0) {

ObjectTreeNode child = new ObjectTreeNode(bbs);

list2Tree(child, list2);

ob.getchildern().add(child);

}

}

List children = ob.getchildern();

//        for (ObjectTreeNode child : children) {

//            showBbsTree(child,0);

//        }

}

private static void showBbsTree(ObjectTreeNode root,int level) {

for (int i = 0; i < level; i++) {

System.out.print("\t");

}

Object object = root.getObject();

Method method;

try {

method = object.getClass().getMethod("getContent", null);

Object invoke = method.invoke(object, null);

System.out.println(invoke);

List list = root.getchildern();

} catch (NoSuchMethodException e) {

e.printStackTrace();

} catch (SecurityException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

}

//        List children = root.getChildren();

//        for (BbsTreeNode child : children) {

//            showBbsTree(child,level+1);

//        }

}

private static void list2Tree(ObjectTreeNode root, Object list) {

List list1=(List) list;

for (Object object : list1) {

try {

try {

Object object2 = root.getObject();

Method m2 = object2.getClass().getMethod("getBbsId", null);

Method m1 = object.getClass().getMethod("getBbsPid", null);

Object invoke = m1.invoke(object, null);

Object invoke2 = m2.invoke(object2, null);

String string = invoke.toString();

String string2 = invoke2.toString();

int i = Integer.parseInt(string);

int j = Integer.parseInt(string2);

//                    System.out.println(string);

//                    System.out.println(string2);

if (i==j) {

System.out.println("你进来了");

ObjectTreeNode obj = new ObjectTreeNode(object);

list2Tree(obj,list);

System.out.println("你到第二步了");

root.addChild(obj);

}

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

}

} catch (NoSuchMethodException e) {

e.printStackTrace();

} catch (SecurityException e) {

e.printStackTrace();

}

}

}

}

//这是运行结果

你进来了

你进来了

你进来了

你到第二步了

Exception in thread "main" java.lang.NullPointerException

at edu.njcc.rj1621.domain.ObjectTreeNode.addChild(ObjectTreeNode.java:34)

at edu.njcc.rj1621.client.CopyOfTestBbsQueryList.list2Tree(CopyOfTestBbsQueryList.java:96)

at edu.njcc.rj1621.client.CopyOfTestBbsQueryList.list2Tree(CopyOfTestBbsQueryList.java:94)

at edu.njcc.rj1621.client.CopyOfTestBbsQueryList.list2Tree(CopyOfTestBbsQueryList.java:94)

at edu.njcc.rj1621.client.CopyOfTestBbsQueryList.main(CopyOfTestBbsQueryList.java:28)

请大佬看看啊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值