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


    2014-04-26 19:02

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

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

    代码:

     1 // 14.4 tell me about the differences between C++ template and java generics.
     2 // Answer:
     3 //    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.
     4 //    2. java generics can put some restrictions on the <T>, such as <T extends superclass>, whereas this is not practical in C++.
     5 //    3. You may use downcast instead of generics, but generics enhance the resuability of code, so is template in C++.
     6 import java.util.Vector;
     7 
     8 public class TestJava<T> {
     9     public T data;
    10 
    11     public TestJava(T data) {
    12         // TODO Auto-generated constructor stub
    13         this.data = data;
    14     }
    15 
    16     String getType() {
    17         return this.data.getClass().getName();
    18     }
    19 
    20     public static void main(String[] args) {
    21         Vector<Integer> v = new Vector<Integer>();
    22         v.add(2);
    23         v.add(1);
    24 
    25         TestJava<Vector<Integer>> testJava = new TestJava<Vector<Integer>>(v);
    26         System.out.println(testJava.getType());
    27         System.out.println(v);
    28     }
    29 }
  • 相关阅读:
    SPOJ
    基础计算几何
    数颜色
    Codeforces 986B
    一些有趣的题
    jQuery
    linux命令学习
    javaScript
    css
    html
  • 原文地址:https://www.cnblogs.com/zhuli19901106/p/3691923.html
Copyright © 2020-2023  润新知