我的list里有比如5组值,每组值有3个属性(name,age,sex)我现在想讲name的值都放进一个Sting里该怎么写?

解决方案 »

  1.   

    大体思路:StringBuilder sb = new StringBuilder();
    for(Object o : list) {
      YourClassName obj = (YourClassName)o;
      sb.append(obj.getName());
    }
    return sb.toString;
      

  2.   

    一定要用Object转吗?
    假如我不知道有那些属性,只知道有3个属性,想把第一个属性写到string,该怎么写?
      

  3.   

    嗯,你list既然存放的是对象,那就那就在循环中,取出对象.属性名了
    一楼已经写的很清楚了
    也不一定要用Object转型,要看你list装的是什么对象类型了
    for(youClassName o : list) { 
    ...
      

  4.   


    如果你在把你的对象假如到List中的时候用了泛型就需要用Object转了
    比如:
    List<YourClassName> list = new ArrayList<YourClassName>();
    list.add(new YourClassName());
    ....
    这样就可以直接拿出来用了,因为泛型保证了类型安全至于”假如我不知道有那些属性,只知道有3个属性,想把第一个属性写到string,该怎么写?“
    就不清楚了,不知道LZ的具体需求是什么,不如说出来让大家看看
      

  5.   

    应该采用面向对象的方式,把 name, age, sex 这三个属性包装成对象,将 5 个对象放到 List 中去就可以了。
      

  6.   


    public class user{
       private String name;
       private int    age;
       private String sex
    ...
    }
    public class Test{
       public static void main(String[]agrs){
       List<user>  users=new  ArrayList<user>();
       list.add(new user("phenix",25,"m"));
       list.add(new user("phenix",25,"m"));
       list.add(new user("phenix",25,"m"));
       for(user temp:users){
         System.out.println(temp.getName());
         System.out.println(temp.age());
         System.out.println(temp.sex());
        }
       } }
      

  7.   

    我用Hibernate做了一个查询,代码如下:
    List all = null;
    String hql = "From Userword AS u WHERE u.name=? ";
    Query q = super.getSession().createQuery(hql);
    q.setString(0, name);
    all = q.list();
    其中查出来的属性包括name,age,address等。
    但是我现在只想要比如:age的值的写到一个String里。
    我直接用getAge的话程序就不知道“age”是什么,这个意思。
      

  8.   

    List list = q.list();
    StringBuilder sb = new StringBuilder();
    for(Object o : list) {
      YourClassName obj = (YourClassName)o;
      sb.append(obj.getName());//obj.getAge();
    }
    return sb.toString;getAge()程序肯定知道什么意思了
    你都用到了Hibernate不会不知道JavaBean还有POJO吧
    你映射文件里配置的那个property应该有一个
    <property name="age"/>吧,如果没有再配access="field"默认就是根据getAge()来取得age的值的
      

  9.   


    有利于封装
    如果是一串字符串的话
    string。split()来进行分解