【常用API 克隆 +objects+正则表达式+时间API+Lambda表达式+比较器的不同+迭代器Iterator+forEach】

克隆:A对象的属性值完全拷贝给B对象

A对象重写clone方法  因为不在一个包下

A对象实现cloneAble接口

使用A对象.clone;


浅拷贝 

clone是浅克隆 

将被复制对象的值和地址都给复制  一个对象改变值两个对象的引用都改变

深拷贝 

基本数据拷贝值,字符串复用常量池,引用的类型重新new 一个对象的属性值。

实现:

  1. 改写clone方法
  2. 类实现序列化接口 使用字节输出输入流将数据读写
  3. 使用第三方工具

对象工具类:objects

objects.equals(object1,object2);  先调用判断为空的方法,在调用object1的equals  被重写调用重写的方法。


正则表达式:

string对象.matchs(正则表达式)   

正则表达式以  字符串 来表示

 

爬虫(查找) 

pattern类的静态方法

 得到匹配器对象

m.find(被查找的字符串)    返回boolean   底层记录第一次找到的索引   假设0 4

使用

m.group()得到字符串  str字串。 

一次只读一个所以需要对find做死循环处理

网络爬虫练习(未完)


时间API

Date:时间  精确到毫秒

simpleDateFormart :  格式化时间类

日历时间(格林威治时间为时间标准时间,北京时间+8小时)

Date

空参为当前时间  空参使用有参

有参为指定时间

setTime(long time) 设置毫秒值

getTime() 获取时间的毫秒值   得到的是数值

sout打印的时间对象  是改写了toString()  得到时间的拼接值

时间的计算   因为Date是对象不能直接加减   所以需要时间对象getTime()做加减

时间加一年:注意溢出  加L。。。 

ctrl alt + m  抽取方法


simpleDateFormat类作用  时间格式化

把时间变成好看的格式

将字符串解析为时间格式(解析为date对象  然后使用时间对象getTime做计算)

第二个 构造方法传递的是时间格式字符串

 默认格式

 

 自己指定格式

 解析:

parse(Date  a,String 时间格式)

定义simpleDateFormat  有参构造  要和需要转的字符串格式一致

 

        SimpleDateFormat simpleDateFormat=new SimpleDateFormat();
        Date date=new Date();
        String format = simpleDateFormat.format(date);
        System.out.println(format);
        String str="2000-11-11";
        SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd");
        Date parse = sim.parse(str);
        System.out.println(parse);
        SimpleDateFormat S=new SimpleDateFormat("yyyy年MM月dd日");
        String format1 = S.format(parse);
        System.out.println(format1);
        String miao="2023年11月11日 0:0:0";
        SimpleDateFormat ss=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date parse1 = ss.parse(miao);
        System.out.println(parse1);


Lambda表达式

函数式编程   :强调随去做  而不是对象本身 

面向对象:先找对象  在让对象做事情

 

 什么是函数式接口:  有且只有一个的抽象方法的接口叫做函数式接口  所以 lambda表达式不用选择使用哪个函数。

 

 1、参数类型可以省略不写

 2、只有一个参数,参数类型和()可以省略

 3、方法体只有一行  大括号  分号 return只有可以省略 但是需要同时省略。

     String [] str = {"a","aa","aaa","aaaa"};
        Arrays.sort(str, (o1,o2)->
            o1.length()-o2.length()
        );
        System.out.println( Arrays.toString(str));;

面试官:元素排序Comparable和Comparator有什么区别? - 腾讯云开发者社区-腾讯云 (tencent.com)



迭代器: 

 

 

 


forEach遍历

传入 Comsumer接口  ,重写accept接口 ,实际的forEach方法会简单for循环  ,然后将值给到accept方法的参数。。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值