为什么打印出来的都是null呀,list一个对象 应该怎么赋值呀?
private List<CallingType> callingTypes;………… rs = stmt.executeQuery("select * from idl_ticket_match_d order by SORT_KEY DESC"); callingTypes=new ArrayList<CallingType>();
while (rs.next()) {
callingTypes.add(new CallingType(rs.getString("PHONE_HEAD"), rs
.getString("SRC_TICKET_TYPE")));
                                System.out.println(rs.getString("PHONE_HEAD"));//这样是有值的,所以问题应该在这个list上
} for(int i=0;i<callingTypes.size();i++){
System.out.println(callingTypes.get(i).getPhoneHead());
System.out.println(callingTypes.get(i).getSrcTicketType());
}………… public static class CallingType { private String phoneHead; private String srcTicketType; public CallingType(String phoneHead, String srcTicketType) {
phoneHead = this.phoneHead;
srcTicketType = this.srcTicketType;
} public String getPhoneHead() {
return phoneHead;
} public String getSrcTicketType() {
return srcTicketType;
}

解决方案 »

  1.   

    你确定在 return 的时候 return 的是 callingTypes 不是 null  吗?
      

  2.   


     public CallingType(String pphoneHead, String psrcTicketType) {
             this.phoneHead = pphoneHead ;//这里,你写反了,还有,变量名字跟成员变量不一样的好
            this.srcTicketType =  psrcTicketType ;
        }
      

  3.   

    public static class CallingType  还有你用  static 来修饰类
    你用的是内部类吗?如果是这样在其他外部类中就肯定不能访问到你的 CallingType 对象。
      

  4.   


    //还有这个类,没必要是static的  class CallingType{    private String phoneHead;    private String srcTicketType;    public CallingType(String phoneHead, String srcTicketType) {
            phoneHead = this.phoneHead;
            srcTicketType = this.srcTicketType;
        }    public String getPhoneHead() {
            return phoneHead;
        }    public String getSrcTicketType() {
            return srcTicketType;
        }
    }
      

  5.   


    谢谢,问题是在这里,不过很诡异呀,构造方法是我用myeclipse自动生成的呀,所以我没注意到这个也会出错,哎……