@Service("importReportDateImpl")
public class ImportReportDateImpl implements IImportReportFacadeDate { public void addCcdate(String date) {
this.fileDate = date;
int realMonth = 0;
String s1 = fileDate.substring(0, 4); fileYear = Integer.parseInt(s1);
realMonth = Integer.parseInt(fileDate.substring(4, fileDate.length()));
fileMonth = realMonth - 1;
} public int getFileYear() {
return fileYear;
} public int getFileMonth() {
return fileMonth;
} public String getFileDate() {
return fileDate;
} private String fileDate = "";
private int fileYear = 0;
private int fileMonth = 0;}
如上类里面,在调用这个类的方法中的fileYear,fileMonth的时候,值都是0,而不是我在方法addCcdate里面算好的,但是我是先调用的addCcdate方法,再调用get相关方法,而且addCcdate方法在执行中如果打印fileYear,fileMonth,也都是正确值,并不是0,纠结啊

解决方案 »

  1.   

    调用addCcdate等方法的程序写一下
      

  2.   

      你怎么调用的 int类型的变量初始值 默认值为0 
         你没调 addCcdate 这个方法 fileYear,fileMonth这两个变量的值肯定是0  你要先调addCcdate 这个方法   fileYear = Integer.parseInt(s1);
            realMonth = Integer.parseInt(fileDate.substring(4, fileDate.length()));
            fileMonth = realMonth - 1;
    才会执行给fileYear,fileMonth这个两个变量赋值 
      

  3.   

    public class test {
    public static void main(String[] args)
    throws Exception
    {
    ImportReportDateImpl d=new ImportReportDateImpl();
    d.addCcdate("201112");
    System.out.println(d.getFileYear());
    System.out.println(d.getFileMonth());
    }
    }2011
    11没问题啊
      

  4.   

    他先调用 getFileYear getFileMonth方法的 然后在调用addCcdate 这个方法 自然 会没有结果
      

  5.   

    程序对的不能再对了,你是不是搞了多个ImportReportDateImpl 对象了
      

  6.   

    楼主,你的方法里只有get 没有set 吗? 加个set 不就好了!把   private String fileDate = "";
        private int fileYear = 0;
        private int fileMonth = 0;
    放在上面,放下面这,好像不是规范吧!
      

  7.   

    引用地址错误,检查一下heap地址