day55包装类 拆装箱 内部类 Lambda表达式

包装类 java.lang下

Java--Integer的常量缓存池(默认-128~127数值范围)_integer缓存范围-CSDN博客

包装类:Byte,Short,Integer, Long Double  Float    Boolean  Charecter

包装类提供了基本数据类型和String的相互转换的方法

基本类型和包装类之间的转换:

自动装箱时必须为同类型的基本数据类型。

比较值和地址


拆装箱

String与包装类之间的装箱:

字符串转为数值类型的包装类是不安全的,有异常NumberFormatExceptiom

数字类型异常原因是  String值中包含了数值之外的其他字符

toSring方法也是不安全的,会引发空指针异常。String的valueof方法相对安全

基本类型和String类型的相互转换


内部类:在某个类中内部定义的类

访问当前内部类的属性和方法:

外部类.this.属性名

外部类.this.方法名

Java 内部类详解 | 菜鸟教程 (runoob.com)

内部类的分类

        变量的分类

        成员变量 对像所有

        静态变量 属于类

        局部变量 方法内

成员内部类:

1)在外部类中直接使用

2)在其它类中使用

  创建外部类的对象

通过外部类的对象创建成员内部类的对象

 外部类.内部类  名  =  外部对象名.new 内部类名();

静态内部类:

只能访问静态成员

局部内部类:

在类中的某个方法中定义的类

仅可以在方法中调用

局部内部类在成员方法中可以访问外部类所有成员

局部内部类在静态方法中仅可以调用外部类的静态成员

局部内部类可以访问所在方法的局部变量  final

为什么局部内部类和匿名内部类只能访问 final 的局部变量? | 菜鸟教程 (runoob.com)

jdk1.8之前局部变量被局部内部类使用 ,改为final修饰,不可更改.

jdk8之后final可以省略不写.

匿名内部类:

一般来说,匿名内部类用于继承其他类或是实现接口,

并不需要额外的属性或方法,

只是对继承方法的实现或是重写。

Lambda表达式:使用对象:匿名内部类  定义的接口

jdk8开始时

段匿名内部类仅包含一个抽象方法接口时,可以简化

Lambda式的语法:

接口名 对象名 = (方法的参数列表) ->{方法体};

Lambda注意事项

如果方法体仅包含一行语句,则{}可省略不写

如果方法参数仅包含一个,则()可省略不写

如果接口中的方法带返回值,则方法体中仅包含一行return语句,则{}  return都省略.

java.util.Function包下四个常用的函数式接口

函数式接口: 此接口仅含一个抽象方法

用来使用Lambda表达式

可以在接口使用注解 @FunctionalInterface


常用工具类:

  1Math类和Random类

   2日期类使用'

java.lang.Math类提供了一组静态的数学方法

ceil():向上取整数  

floor():向下取整数

round():返回最接近的整数  round(a) = floor(a+ 0.5) ;

java.util.Random:随机数类

创建Random对象

调用 对象.nextInt(System.in);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值