装箱和拆箱
Java提供了原始类型对应的引用类型,在1.5之后的版本还提供了自动装箱和自动拆箱,结合最新版本的泛型,几乎可以忽略这块。
1 import java.util.*;
2
3 public final class Program {
4 public static void main(String[] args) {
5 ArrayList list = new ArrayList();
6
7 list.add(1);
8 int item1 = (Integer) list.get(0);
9
10 System.out.println(item1);
11 }
12 }
注意:自动装箱和自动拆箱是Java提供的语法糖。
泛型
Java的泛型是编译器提供的语法糖,官方称之为:类型参数搽除,先看一下语法,然后总结一点规律:
泛型方法
测试代码
1 static <T> void puts(T msg) {
2 println(msg);
3 }
4
5 static void println(Object msg) {
6 System.out.println("Object:" + msg);
7 }
8
9 static void println(String msg) {
10 System.out.println("String:" + msg);
11 }
调用泛型方法
1 System.out.println("generic method test");
2 puts("hello");
3 Program.<String> puts("hello");
输出的结果是
1 generic method test
2 Object:hello
3 Object:hello
泛型类
测试代码
1 class TestGenericClass<T> {
2 T value;
3
4 void setValue(T value) {
5 this.value = value;
6 }
7 }
调用代码
1 System.out.println("generic class test");
2 System.out.println(t.value);
输出结果
1 generic class test
2 1

https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.337.search-card.all.click
2528

被折叠的 条评论
为什么被折叠?



