08 2020 档案

摘要:枚举是其合法值由一组固定的常量组成的一种类型,例如一年中的季节,太阳系中的行星或一副扑克牌中的花色。 在将枚举类型添加到该语言之前,表示枚举类型的常见模式是声明一组名为 int 的常量,每个类型的成员都有一个常量: // The int enum pattern - severely deficie 阅读全文
posted @ 2020-08-26 01:58 webzom 阅读(409) 评论(0) 推荐(0) 编辑
摘要:泛型的常见用法包括集合,如 Set<E > 和 Map<K,V> 和单个元素容器,如 ThreadLocal<T>和 AtomicReference<T> 。 在所有这些用途中,它都是参数化的容器。 这限制了每个容器只能有固定数量的类型参数。 通常这正是你想要的。 一个 Set 有单一的类型参数,表 阅读全文
posted @ 2020-08-25 02:47 webzom 阅读(151) 评论(0) 推荐(0) 编辑
摘要:可变参数和泛型不能很好地交互,因为可变参数机制是在数组上面构建的脆弱的抽象,并且数组具有与泛型不同的类型规则。 虽然泛型可变参数不是类型安全的,但它们是合法的。 如果选择使用泛型(或参数化)可变参数编写方法,请首先确保该方法是类型安全的,然后使用@SafeVarargs 注解对其进行标注,以免造成使 阅读全文
posted @ 2020-08-25 02:36 webzom 阅读(234) 评论(0) 推荐(0) 编辑
摘要:参数化类型是不变的。换句话说,对于任何两个不同类型的 Type1 和Type2 , List<Type1> 既不是 List<Type2> 的子类型也不是其父类型。尽管 List<String>不是 List<Object> 的子类型是违反直觉的,但它确实是有道理的。 可以将任何对象放入List<O 阅读全文
posted @ 2020-08-21 01:55 webzom 阅读(142) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示