日期:2014-05-20  浏览次数:20852 次

关于在Java中如何使用Template技术的问题.
如何在java中实现以下C++代码?
Template   class   <T>   a{
          T   a=new   T();
       
}


------解决方案--------------------
实现不了

JAVA中没有C++那样的模板,JAVA的模板只是一个 "自动强转 "

------解决方案--------------------
public Test <T> {
  private T a = (T)new Object();
}
------解决方案--------------------
测试了吗,没报转换异常吗
------解决方案--------------------
不好意思啦~~ public 后面漏了个 class。
------解决方案--------------------
JDK5.0以后开始支持泛型。
------解决方案--------------------
前两天写的一段代码

class StackX <T>
{
private int maxSize;
private Object[] stackArray;
private int top;
public StackX(int s)
{
maxSize = s;
stackArray = new Object[maxSize];
top = -1;
}
public void push(T j)
{
stackArray[++top] = j;
}
public T pop()
{
return (T) stackArray[top--];
}
public T peek()
{
return (T) stackArray[top];
}
public boolean isEmpty()
{
return (top == -1);
}
public boolean isFull()
{
return (top == maxSize-1);
}
}
class StackApp
{
public static void main(String[] args)
{
StackX <Long> theStack = new StackX <Long> (10);
theStack.push(20L);
theStack.push(40L);
theStack.push(60L);
theStack.push(80L);

while( !theStack.isEmpty() )
{
long value = theStack.pop();
System.out.print(value);
System.out.print( " ");
}
System.out.println( " ");
}
}