我有一个java程序,有好多好多的成员变量(几百个),一个一个的创建得累死,有没有什么好的方法。
还有java能用字符拼变量名吗。怎么拼。谢谢

解决方案 »

  1.   

    String ss=class.forname("java.long.String");
    以前用过这个,你先参考一下。
    如果整型的话我想也可以是这样:
    Integer ii=class.forname("java.long.Integer");
      

  2.   


    还有java能用字符拼变量名吗。怎么拼。谢谢
    没懂=========
    我有一个java程序,有好多好多的成员变量(几百个),一个一个的创建得累死,有没有什么好的方法。 
    你的设计有问题,如果没问题的话,你考虑用 Map 吧,通过Map 来存取数据, key 就是你的 变量名,当然是字符串的形式
      

  3.   

    java 不是动态语言 不会动态创建这与反射是两码事。
      

  4.   

    一个一个输入吧,如果是创建get set方法到有快捷方法。
      

  5.   

    创建get set方法可不可以?
      

  6.   

    不是java的问题了。
    用别的文本处理工具来弄吧
      

  7.   

    这里在看你的需求,如果你只是嫌成员太多麻烦,你可以自己弄个简单的程序来生成java文件就完了
    如果你确实需要动态创建JavaBean可以用CGLIB做net.sf.cglib.beans.BeanGenerator g = new net.sf.cglib.beans.BeanGenerator();
    g.addProperty("x", int.class);
    Object o = g.create();
      

  8.   

    选中你的域,点击右键,选择source-》genrate Geters and setters 
      

  9.   

    Class.forName返回Class类型的,应该加个newInstance, 再加个强转
      

  10.   

    这种东西楼主可以写段代码取生成,成员变量按照一定的规律命名,然后循环生成java类就可以了
      

  11.   

    嗯,建议采用 13 楼提供的方式,cglib 的方式是采用 ASM 字节码框架直接修改字节码而来的。
      

  12.   

    使用 cglib 可以看看这个帖子 12 楼的代码:
    http://topic.csdn.net/u/20080610/23/a8b917e6-05bb-47bc-87c8-5828b3bee970.html当然了,你也可以直接采用 ASM 来实现,但是非常麻烦,参考下面这个帖子 33 楼的代码:
    http://topic.csdn.net/u/20080719/07/8a0686d5-e103-428c-bd12-7392abfd8ccb.html
      

  13.   

    我想我明白楼主的意思,楼主是想很方便创建一系列变量,比如name1,name2,name3....name#。然后想通过某种方法,让前面的一段名字相同,通过循环的方式在一段相同的名字的基础上加上写东西(如数字)来拼出n个变量。比如用name做基础,然后for(int i =1;i<100;i++){String name+i = "";}这样来创建好多个变量,据我知道的有些脚本语言可以这样做,java还没有试过,好像也没怎么看到别人用。