java是否包含名为"Item"的数据类型?

Gen*_*ene 4 java types

我正在读" 算法 "一书,他们提到了一种数据类型Item.但是,我无法在任何API中找到它.java中是否存在"Item"数据类型?

Lou*_*rda 17

在第124页,塞奇威克写道

"名称Item是一个类型参数,是客户端使用的某种具体类型的符号占位符."

public class FixedCapacityStack<Item>
Run Code Online (Sandbox Code Playgroud)

它只是一个通用类型:

http://docs.oracle.com/javase/tutorial/java/generics/types.html

public class Box<T> {
    private T t;

    public void set(T t) { this.t = t; }
    public T get() { return t; }
}
Run Code Online (Sandbox Code Playgroud)

Sedgwick使用"Item"而不是"T",因为"Item"的堆栈比"T"堆栈更容易阅读.关键是你可以放任何东西,虽然根据Java文档你应该遵循一个命名约定:

E - 元素(Java集合框架广泛使用)K - 密钥N - 数字T - 类型V - 值S,U,V等 - 第2,第3,第4类型

显然他决定不这样做!

  • 刚刚找到你的(非常好的)答案。我会斥责 Sedgwick 违背了 Java 开发人员(包括 Joshua Bloch)所使用的典型习惯用法。如果他使用常规值,就会立即清楚这是一个通用参数。你的引用很好。 (2认同)

Mik*_*kis 6

虽然在怀疑论者的圈子里,众所周知的事实是,一个实体的不存在是无法证明的,但我敢相对确定地说你的问题的答案是"不".

  • @OliCharlesworth是的,但信徒总会说"你看过_right_ docs了吗?" (2认同)

Tud*_*dor 2

据我所知。他们可能只是在书中定义了该数据类型来展示一些概念,但它绝对不是标准 Java 中的数据类型。