您的位置:首页 > 其它

getCanonicalName和getSimpleName getName的区别与应用

2012-11-06 10:54 337 查看
接口:

Java代码



package com.test;



public interface Fruit {



}





一个实现类:

Java代码



package com.test;



public class Apple implements Fruit {



}



基本测试类:

Java代码



package com.test;



import java.util.ArrayList;

import java.util.List;



public class TestName {

public static void main(String[] args) {

Fruit apple=new Apple();

System.out.println(apple.getClass().getCanonicalName());//返回com.test.Apple

System.out.println(apple.getClass().getSimpleName());//Apple

System.out.println(apple.getClass().getName());//返回com.test.Apple



Apple[] arrApple=new Apple[]{};

System.out.println(arrApple.getClass().getCanonicalName());//返回com.test.Apple[]

System.out.println(arrApple.getClass().getSimpleName());//返回Apple[]

System.out.println(arrApple.getClass().getName());//返回[Lcom.test.Apple;



System.out.println(String.class.getCanonicalName());//返回java.lang.String

System.out.println(String.class.getSimpleName());//返回String

System.out.println(String.class.getName());//返回java.lang.String



System.out.println(int.class.getCanonicalName());//返回int

System.out.println(int.class.getSimpleName());//返回int

System.out.println(int.class.getName());//返回int



Apple a1=new Apple();

Apple a2=new Apple();

List<Apple> appleList=new ArrayList<Apple>();

appleList.add(a1);

appleList.add(a2);

System.out.println(appleList.getClass().getCanonicalName());//返回java.util.ArrayList

System.out.println(appleList.getClass().getSimpleName());//返回ArrayList

System.out.println(appleList.getClass().getName());//返回java.util.ArrayList



}

}





实际应用: hql的泛型查询



Java代码



public <T> List<T> getRecords(Class<T> c,Date startDate,Date endDate){

StringBuilder hql = new StringBuilder("select t from ");

hql.append(c.getCanonicalName());

hql.append(" t where t.statTime>=:startTime and t.statTime<:endTime ");



Query query = sessionFactory.getCurrentSession().createQuery(hql.toString());

query.setParameter("startTime", startDate);

query.setParameter("endTime", endDate);



return query.list();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: