Java最难的语法<泛型>

时间过得很快,我们马上就进入了,Java最难语法的学习,加油吧!

1.包装类 

想要学好泛型就要了解包装类。

在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类。

除了 Integer 和 Character, 其余基本类型的包装类都是首字母大写。

1.2 装箱和拆箱 

    public static void main(String[] args) {
         int a = 10;
         Integer aa = a; //装箱
         
         Integer b = 20;
         int bb = b;     //拆箱  
     }

这是一种自动 装箱/拆箱 。

装包:把一个基本类型转变为包装类型。

拆包:把一个包装类型转变为基本类型。

 也有手动 装箱/拆箱。

int a = 10;
Integer aa = Integer.valueOf(a); //装箱

Integer b = new Integer(20);
int bb = b.intValue();     //拆箱

两者基本一样,在底层都是调用的同一个方法。

2.泛型

2.1什么是泛型 

 泛型是在JDK1.5引入的新的语法,通俗讲,泛型:就是适用于许多类型。从代码上讲,就是对类型实现了参数化。

2.2语法 

class 泛型类名称<类型形参列表> {
       // 这里可以使用类型参数
}

代码示例

class MyArray<T> {
    public T[]array = (T[]) new Object[10];
    public void setval(int pos,T val){
        array[pos] = val;
    }
    public T getval(int pos){
        return array[pos];
    }
}
public class Main {
    public static void main(String[] args) {
         MyArray<String> myArray = new MyArray<String>();
         myArray.setval(1,"hello");
         myArray.setval(2,"bit");
         String str = myArray.getval(1);
         System.out.println(str);
         
         MyArray<Integer> myArray1 = new MyArray<>();
         myArray1.setval(0,1);
         int val = myArray1.getval(0);
        System.out.println(val);
    }
}

泛型的意义 

  • 1.在编译的时候检查数据类型是否正确
  • 2.在编译的时候帮助进行类型转换 

2.3泛型类的使用 

泛型类<类型实参> 变量名; // 定义一个泛型类引用
new 泛型类<类型实参>(构造方法实参); // 实例化一个泛型类对象 

 示例

MyArray<Integer> list = new MyArray<Integer>();

 注意:泛型只能接受类,所有的基本数据类型必须使用包装类!

 

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值