[Java Generics] get T.Class from T
/**
* Copyright (c) 2010 IBOBO Corporation. All Rights Reserved.
*/
package com.ibm.util.dao.hib;
/**
* [Java Generics] get T.Class from <T>
*
* @author <a href="mailto:libo214@gmail.com">libo</a>
* @version V1.0
* @date May 11, 2010
*/
public class GenericsTClass {
public static void main(String[] args) {
//
// Output: Generics entity class Initialized: class java.lang.String
new GenericsTClass1();
//
// Throw an exception: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl
new GenericsTClass2<String>();
//
// Throw an exception: java.lang.ClassCastException: java.lang.Class
new SuperGenericsClass<String>();
}
}
class GenericsTClass1 extends SuperGenericsClass<String> {
}
class GenericsTClass2<T> extends SuperGenericsClass<T> {
}
class SuperGenericsClass<T> {
private final Class<T> entityClass;
@SuppressWarnings("unchecked")
public SuperGenericsClass() {
this.entityClass = (Class<T>)
((java.lang.reflect.ParameterizedType)
this.getClass().getGenericSuperclass()).getActua
相关文档:
1. 简单工厂:
(1). 创建输出(Output)接口
package stone;
public interface Output {
public int MAX_COUNT =10; // 最多可打印多少条记录
public void show(); ......
(1). 创建一个接口, 要代理的类和 代理类都将继承它
package stone;
public interface Image {
public void show();
}
(2). 创建要被代理的类:
package stone;
public class BigImage implements Image {
public BigImage() {
......
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @author troy(J2EE)
* @version 1.0
*/
public class Test {
public static void main(String[] args) throws Exception {
DateFormat df = DateFormat.getDateInstance();
&n ......
最近因为在做金融项目,里面对byte的操作要求比较多,所以在这里整理了一下关于Java中的byte类型。
Java虚拟机中没有byte类型
恩。。。怎么说呢,个人感觉这个说法有点儿唬人的意思。的确,当这个想法刚刚出现在我的脑海中的时候我觉得也有些胡扯,毕竟byte类型就在那里,怎么能说Java虚拟机中没有byte类型呢?
好吧, ......