public static ArrayList<Classify> movie_classify;//我声明一个链表
然后if (classifyUrl.equals("movies")){//我把if判断注释掉就可以打印movie_classify,不为null。为什么加个if就为null了呢?
movie_classify = new ParserModelForClassify().getList(is);
}
System.out.println(movie_classify+" >.<");

解决方案 »

  1.   

    首先,我声明了一个链表,打算给链表赋值。就是用new ParserModelForClassify().getList(is);来给它值()。可是为什么每当我加上那个if语句时打印的movie_classify就为null,不加的话就有值呢?
      

  2.   

    说明表达式是false呗if (classifyUrl.equals("movies")){//我把if判断注释掉就可以打印movie_classify,不为null。为什么加个if就为null了呢?
    movie_classify = new ParserModelForClassify().getList(is);
    System.out.println(movie_classify+" >.<");
    }
    这样看它还打印不?
    要是不打印,你就得检查你的classifyUrl了
      

  3.   

    那应该很明显是你的if (classifyUrl.equals("movies"))为false 所以根本没赋值
      

  4.   

    System.out.println(classifyUrl);//打印出来看看是什么值
    if (classifyUrl.equals("movies")){//我把if判断注释掉就可以打印movie_classify,不为null。为什么加个if就为null了呢?
        movie_classify = new ParserModelForClassify().getList(is);
    }
      

  5.   

    movie_classify = new ParserModelForClassify().getList(is); 
    classify 是new出来的  就应该什么都没有呀~
      

  6.   

    你说的if语句注释掉是
    if (classifyUrl.equals("movies")){
        movie_classify = new ParserModelForClassify().getList(is);
    }
    这部分全部注释?还是去掉
    movie_classify = new ParserModelForClassify().getList(is);之外的
      

  7.   

    if (classifyUrl.equals("movies")){不成功呗~1,这句话应该写成
    if ("movies".equals(classifyUrl)){  // 简单的编码规范啊。2,classifyUrl不知道你什么时候创建的对象,打印出来看看值啊。
      

  8.   

    啊,"movies".equals(classifyUrl) 这样写才合规范啊。倒过来为什么不行。
      

  9.   

    倒过来不是不行。只是一个简单的编码规范。对逻辑没有认为影响。
    原因:
    由于classifyUrl是变量,你能够确保他一定不是null吗?
    null.equals(XXX),java就抛出异常了呀。