函数式接口、包装类

一、比较器
1:对于jdk1.8而言,有三种实现对象比较的方法

  1. 覆写Object类的equals()方法;
  2. 继承Comparable接口,并实现compareTo()方法;
  3. 定义一个单独的对象比较器,继承自Comparator接口,实现compare()方法
    2:内部比较器:使用Comparable比较器,实现Comparable接口,并重写compareTo方法
    3:外部比较器:实现Comparator接口,重写compare方法,方法内部自定义比较规则
    二、函数式接口
    1:消费型接口: Consumer void accept(T t)
    2:供给型接口:Supplier T get()
    3:函数型接口:Function<T,R> R apply(T t)
    4:段言型接口:Predicate boolean test(T t)
    三、方法的引用构造器的引用
    1:方法:若Lambda体中的内容有方法已经实现了,那么我们可以使用"方法引用"
    (可以理解为方法引用时Lambda表达式的另外一种表现形式
    2:语法格式:对象::实例方法名 类::静态方法名 类::实例方法名
    3:注意:01)Lambda体中调用方法的参数列表与返回值类型,要与函数式接口中抽象方法的函数列表和返回值类型保存一致02)若Lambda参数列表中的第一个参数是实例方法的调用者,而第二个参数是实例方法的参数时,可以使用ClassName::method
    4:构造器语法:ClassName::new
    5:注意:需要调用的构造器方法与函数式接口中抽象方法的参数列表保持一致
    四、String
    1:String:不可变的字符序列
    2:StringBuffer:可变字符序列,并且线程安全,但是效率低
    3:StringBuilder:可变字符序列,线程 不安全,但是效率高
    4:构造方法:
    01) String()创建一个字符串的String对象
    02) String(String original)创建一个String对象为original的拷贝
    03) String(char[]value)用一个字符数组创建一个String对象
    04) String(char[]value,int offset,int count)用一个字符数组从offset项开始的count个字符序列创建一个String对象
    05) String(byte[]bytes)用一个byte数组创建一个String对象
    06) String(byte[]bytes,int offset,int length)用一个byte数组从offset项开始的length个字符序列创建一个String对象
    07) String(byte[] bytes, String charsetName) 通过使用指定的 charset解码指定的字节数组构造了一个新的 String
    5:常用方法
    01) public char charAt(int index)返回字符串中第index个字符
    02) public int length()返回字符串的长度
    03) public int indexof(String str)返回字符串中出现str的第一个位置
    04) public boolean equalsIgnoreCase(String another)比较字符串与another是否一样(忽略大小写)
    05) public String replace(char oldchar,char newchar)在字符串中用newchar字符串替换oldchar字符
    06) public boolean startswith(String prefix)判断字符串是否以prefix字符串开头
    07) public boolean endswith(String suffix)判断字符串是否以prefix字符串结尾
    08) public String toUpperCase()返回一个字符串为该字符串的大写形式
    09) public String toLowerCase()返回一个字符串为该字符串的小写形式
    10) public String substring(int beginIndex)返回该字符串从beginIndex开始到结尾的子字符串
    11) public String substring (int beginIndex,int endIndex)返回该字符串从beginIndex开始到endIndex结尾的子字符串
    12) public String trim()返回将该字符串去掉开头和结尾空格后的字符串
    6:StringBuffer : 线程安全的可变长的字符序列
    7:StringBuilder : 线程不安全的可变长字符序列
    注意:String 适合用于少量的字符串操作情况,StringBuilder 适用于单线程下字符穿冲去进行大量操作的情况,StringBuffer 使用多线程下字符缓冲区进行大量 操作的情况
    五、包装类
    1:基本数据类型的包装类:
    byte Byte float Float
    short Short double Double
    int Integer boolean Boolean
    long Long char Character

2:自动装箱 : 将基本数据类型转为引用数据类型
3:自动拆箱 : 将引用数据类型转换基本数据类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值