文章

Java中Generic类形式

当我们希望一个类可以运行任何的reference type时,就不得不提到generic。

以普通的链表类为例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/** 实际上BleepBloop可以替换成任何字符 */

public class DLList<BleepBlorp> {
    private IntNode sentinel;
    private int size;

    public class IntNode {
        public IntNode prev;
        public BleepBlorp item;
        public IntNode next;
        ...
    }
    ...
}

当我们想以某种reference type来初始化时,便可以这样写。

以下以Integer和String为例

1
2
3
4
5
6
7
8
9
DLList<String> d2 = new DLList<>("hello");
d2.addLast("world");

DLList<Integer> d1 = new DLList<>(5);
d1.insertFront(10);

/** 顺便附上基本的reference type
* Integer, Double, Character, Boolean, Long, Short, Byte, or Float
*/

在某些无法固定type的场景中很有用,这也就意味着通用性进一步上升啦o( ̄▽ ̄)ブ

本文由作者按照 CC BY 4.0 进行授权