您的位置:首页 > 编程语言 > Java开发

《Cracking the Coding Interview》——第14章:Java——题目4

2014-04-26 19:05 495 查看
2014-04-26 19:02

题目:解释下C++里模板和java里泛型的区别?

解法:我很少用java,属于连语法都不过关的程度。所以这个题还真没法详细答,查了些资料以后写了以下几点。

代码:

// 14.4 tell me about the differences between C++ template and java generics.
// Answer:
//    1. C++ template can be used on built-in type and user-defined types, java generics can only be used on classes. Integer for int, Double for double.
//    2. java generics can put some restrictions on the <T>, such as <T extends superclass>, whereas this is not practical in C++.
//    3. You may use downcast instead of generics, but generics enhance the resuability of code, so is template in C++.
import java.util.Vector;

public class TestJava<T> {
public T data;

public TestJava(T data) {
// TODO Auto-generated constructor stub
this.data = data;
}

String getType() {
return this.data.getClass().getName();
}

public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>();
v.add(2);
v.add(1);

TestJava<Vector<Integer>> testJava = new TestJava<Vector<Integer>>(v);
System.out.println(testJava.getType());
System.out.println(v);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐