例如我
String a1="asdfasdf";
Integer a2=new Integer(10);Object[] c=new Object[2];c[0]=a1;
c[1]=a2;然后我让c[0].getMethodXX()的出的值是我原线的定义的变量名称!例如System.out.println(c[0].getMethodXX()),打印出"a1"
System.out.println(c[1].getMethodXX()),打印出"a2"
String a1="asdfasdf";
Integer a2=new Integer(10);Object[] c=new Object[2];c[0]=a1;
c[1]=a2;然后我让c[0].getMethodXX()的出的值是我原线的定义的变量名称!例如System.out.println(c[0].getMethodXX()),打印出"a1"
System.out.println(c[1].getMethodXX()),打印出"a2"
如果a1真是复杂对象,结果也不对,例如:
public class AAA {private String aa = "测试结果";public String getAa() {
return aa;
}
public void setAa(String string) {
aa = string;
}
}public class Test { public static void main(String[] args) {
AAA a1= new AAA();
Integer a2=new Integer(10); Object[] c=new Object[2]; c[0]=a1;
c[1]=a2; System.out.println(a1.getAa());//输出的结果为“测试结果”
}
}
public class AAA {private String aa = "测试结果";public String getMethod() {
return "aa";
}}public class Test { public static void main(String[] args) {
AAA a1= new AAA();
Integer a2=new Integer(10); Object[] c=new Object[2]; c[0]=a1;
c[1]=a2; System.out.println(a1.getMethod());//输出的结果为“aa”
}
}
为每一种类型都去定义一个或者重写一个方法,不现实.也违背了我的初衷.
aSample={"a":"aaa","b":"bbb","c":"ccc"}
for(key in aSample){
document.write(key+":"+aSample[key]+"<br>")
}
</script>
<script>
aSample={"a":"aaa","b":"bbb","c":"ccc"}
for(key in aSample){
document.write(key+":"+aSample[key]+"<br>")
}
</script>
为每一种类型都去定义一个或者重写一个方法,不现实.也违背了我的初衷.不知道楼主得初衷是什么
反射是可以得到变量名得,但是不能得到他得值
你可以象反射BEAN一样 反射他变量名来组成他GET/SET方法
========================================public Collection getCollection(String objName, Map params, int start,
int count) throws DAOException {
try {
// 组合检索语句
String strSQL = "from " + objName + " d";
if (params != null && !params.isEmpty()) {
strSQL = strSQL + " where ";
for (Iterator it = params.keySet().iterator(); it.hasNext();) {
String paramName = (String) it.next();
strSQL = strSQL + "d." + paramName + "=:" + paramName;
}
} Query q = getHibernateTemplate().getSessionFactory()
.getCurrentSession().createQuery(strSQL);
if (params != null && !params.isEmpty()) {
for (Iterator it = params.keySet().iterator(); it.hasNext();) {
String paramName = (String) it.next();
q.setParameter(paramName, params.get(paramName));
}
}
q.setFirstResult(start);
q.setMaxResults(count);
return q.list();
} catch (HibernateException e) {
throw new DAOException(e.getMessage());
}
}
比如说String对象,当失去所有持有这个对象的引用,成为unreachable的时候,要么被引入reference,要么准备被gc回收。所以系统知道那些持有这个对象的引用,但是没有提供得到这些引用的函数。或者说我们不知道。