Java复习之杂项

1、泛型

在Java中泛型是指把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊类型。使用泛型可以保证一个List、Set中只有一个类型,可以避免类型转换错误,泛型只在编译阶段有效,泛型在逻辑上可以看成是多个类型,但实质上是一个类型,下面的例子就可证实:

public static void main(String[] args) {
        List<Integer> integerList = new ArrayList<Integer>();
        List<String> stringList = new ArrayList<String>();

        Class interClass = integerList.getClass();
        Class stringClass = stringList.getClass();

        System.out.println(interClass.equals(stringClass));
    }
//结果为 true

泛型有三种使用方式:泛型类、泛型方法、泛型接口

①、泛型类

class Person <T>{
  private T name;
  private int age;
  .....

  }
}

②、泛型接口

public interface Generator<T> {
    public T next();
}

③、泛型方法

public <T> T generic(T t) {
        return t;
    }

④、类型通配符(?)

  • ?可以接受任意类型
public void test(List<?> elements){
        
}
  • 用于实现上下界问题
    能够接收A类或者A类的子类
public void test(List<? extends A> elements){

}

能接受A类或者是A类的父类

public static void test(List<? super A> list){
    list.add(new A());
    list.add(new B());
    list.add(new C());
}

注意:泛型通配符< ? extends T >来接收返回的数据,此写法的泛型集合不能使用 add 方 法, 而< ? super T >不能使用 get 方法,做为接口调用赋值时易出错。

2、随机数

①、Mart.random()方法,底层调用的是Random类的nextDouble()方法;
②、Random类,可以在构造函数中设置种子,种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中,以后产生的随机数都与前一个随机数有关

3、位运算

见另一篇文章:位运算及其常用操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值