`
wwty
  • 浏览: 537234 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

关于java1.5之后的泛型

阅读更多

java是强类型的语言,不通类型之间是需要转换的----但也并不是所有的类型之间都可以相互转换。

 

1.4的时候:针对hashtable

 class Hashtable {
  Object put(Object key, Object value) {...}
  Object get(Object key) {...}
  ...
  }

 

而1.5的时候,是这样的:
class Hashtable<Key, Value> {
  ...
  Value put(Key k, Value v) {...}
  Value get(Key k) {...}
}

 

1.4的时候:
import java.util.Hashtable;
class Test {
  public static void main(String[] args) {
    Hashtable h = new Hashtable();
    h.put(new Integer(0), "value");
    String s = (String)h.get(new Integer(0));
    System.out.println(s);
  }
}

 

1.5往后:
import java.util.Hashtable;
class Test {
  public static void main(String[] args) {
    Hashtable<Integer, String> h = new Hashtable<Integer, String>();
    h.put(new Integer(0), "value");
    ...
  }
}

 

可以看到,1.5引入泛型之后,在特定环境下弱化了java当中的变量类型。

这样可以减少类型转换造成的异常,同时也减少了代码的编写量。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics