嗯,你list既然存放的是对象,那就那就在循环中,取出对象.属性名了 一楼已经写的很清楚了 也不一定要用Object转型,要看你list装的是什么对象类型了 for(youClassName o : list) { ...
如果你在把你的对象假如到List中的时候用了泛型就需要用Object转了 比如: List<YourClassName> list = new ArrayList<YourClassName>(); list.add(new YourClassName()); .... 这样就可以直接拿出来用了,因为泛型保证了类型安全至于”假如我不知道有那些属性,只知道有3个属性,想把第一个属性写到string,该怎么写?“ 就不清楚了,不知道LZ的具体需求是什么,不如说出来让大家看看
应该采用面向对象的方式,把 name, age, sex 这三个属性包装成对象,将 5 个对象放到 List 中去就可以了。
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()); } } }
我用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”是什么,这个意思。
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的值的
for(Object o : list) {
YourClassName obj = (YourClassName)o;
sb.append(obj.getName());
}
return sb.toString;
假如我不知道有那些属性,只知道有3个属性,想把第一个属性写到string,该怎么写?
一楼已经写的很清楚了
也不一定要用Object转型,要看你list装的是什么对象类型了
for(youClassName o : list) {
...
如果你在把你的对象假如到List中的时候用了泛型就需要用Object转了
比如:
List<YourClassName> list = new ArrayList<YourClassName>();
list.add(new YourClassName());
....
这样就可以直接拿出来用了,因为泛型保证了类型安全至于”假如我不知道有那些属性,只知道有3个属性,想把第一个属性写到string,该怎么写?“
就不清楚了,不知道LZ的具体需求是什么,不如说出来让大家看看
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());
}
} }
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”是什么,这个意思。
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的值的
有利于封装
如果是一串字符串的话
string。split()来进行分解