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
进行授权