zoukankan      html  css  js  c++  java
  • 《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 }
  • 相关阅读:
    内存
    TCP/IP
    安装
    linux常用命令
    linux文本处理三剑客之 grep
    tail命令:显示文件结尾的内容
    less命令:查看文件内容
    head命令:显示文件开头内容
    改进Zhang Suen细化算法的C#实现
    【转】在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解)
  • 原文地址:https://www.cnblogs.com/zhuli19901106/p/3691923.html
Copyright © 2011-2022 走看看