Android:方法参数及泛型使用 8

24 篇文章 0 订阅
24 篇文章 0 订阅
  • 方法的参数

形参和实参

形参,方法头括号里的参数,也就是方法体中使用的部分

实参,给方法传入的参数

传值调用 ,基本数据类型作为参数,会产生值的副本,形参操作不影响实参

传引用调用 ,引用类型作为参数 类类型 接口 数组 传引用类型的地址,形参操作会对实参造成影响

 

实参给形参传递的都是值  传值的过程都是复制的过程

基本数据类型是将值直接复制  引用类型是将地址进行了复制

 

String 和Integer Double等包装类,定义为不可改值的类型immutable,这时会进行特殊处理,要理解为值传递,形参操作不影响实参

原因是以上这些类中,并没有改变对象自身值的操作

 

String如果要使用引用类型,可以选择使用stringbuffer和stringbuilder

  • 泛型
  1. 概念

泛型的本质是参数化类型

泛型只对编译时有效

  1. 为什么要用泛型

相当于类型的通配符(通用匹配),就像是一个虚拟的类型

  1. 泛型的使用
  1. 泛型类

class FX<T>

  1. 泛型方法

public static <E> void showArrayAll(E[] a)

  1. 集合中的类型(在集合中讲)
  1. 泛型的通配符

?为了让父类子类等都通过泛型的使用

  1. 泛型的上下边界

上边界

<? extends Number> 往上只能继承到Number 也就是说只能用Number以及子类作为泛型的具体类型使用

 

下边界

<? super Number> 往下只能用到当前类,当前类以及它的父类可以作为泛型的具体类型

 

  1. 泛型使用的好处
  1. 类型安全

通过泛型的定义,我们可以界定变量的类型限制,提高Java程序的类型安全

  1. 消除类型强制转换

防止类型之间的强制转换,

  1. 提高性能

因为消除了强制转换,强制转换的代码不会被编译器插入到字节码中,减少执行部分,从而提高性能

.java  →  .class  

  1. 泛型使用的注意事项
  1. 泛型的类型参数只能是类类型,不能是基本类型
  2. 泛型的类型参数可以有多个
  3. 不能对确切泛型类型是instanceof操作   泛型的对象 instanceof  FX<Number>  //非法操作
  4. 不能创建一个确切的泛型类型的数组

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值