关于java1.5之后的泛型

本文对比了Java 1.4中Hashtable的使用方式与1.5引入泛型后的变化,展示了如何通过泛型减少类型转换异常及代码量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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当中的变量类型。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值