Java小知识

news/2024/11/13 3:52:43/

一、lambda

()->{}
()中为接口唯一方法中的参数,可以任意取
{}为接口唯一方法中的执行语句,返回的结果类型必须符合接口中方法返回值的定义

原理理解:
Public interface Printable{
String print(String suffix);}

在函数式编程中有一个方法来找到这个字符串(前提是接口中只有一个抽象方法,称为泛函),即一个注解(@Functionallnterace),在通常情况下在调用时如果接口满足泛函,即使不显示的标识这个汪解,也会发挥作用;但如果我们在编与一个接口时显示标注此汪解,那么在定义超过一个抽象方法时,编辑器会报错

static void printThing (Printable thing){
thing print();}

理解:当我们通过printThin()方法去调用实现了Printable的类的print方法时,需要先定义一个实现了Printable 的类,重写print方法,然后new出这个类,传入printThing()方法中,从而获取结果优化:使用lambda允许我们直接传递一个方法的实现作为可打印参数

使用实例:
// 代码作为参数,直接传递具体实现
Printable lambdaPrintable = (s)> “MEOW” +s;
printThing(lambdaPrintable);

二、future

将任务提交给future去异步处理,然后获取结果
boolean.isDone()提供方法查询任务的执行情况
V.get()等待任务执行结束,然后获取结果

三、stream

1、什么是stream流:

类似一个迭代器,只能遍历一次,在流的过程中对元素执行操作,如过滤或者符合某个条件

2、数据源(数組成集合)

每次操作后返回一个新的流对象,方便进行链式操作,但原有的流对象不变

3、创建流

.stream()

4、操作流:

4.1过滤

.filte()
将流中的元素作为lambda表达式中的参数,执行箭头后的逻辑
例如:

list.stream().filter/element->element.cantains("王"));

就会得到包含王的元素数组的流

4.2映射

将流中的元素转化为新的流中的元素
.map()
例如:

list.stream().map(String:length);

得到流中元素的个数的数组的流

5、转换流

.collect()
例如:

list.stream().map(String:length).collect(Collectors.tolist();

得到一个新的个数的list

6、流转map时键冲突处理

Map<String,MultipleClientNoMap>multiMap=multipleClientNoMaps.stream().collect(Collectors.toMap(m1-> m1.getCurrClientNo(),m2->m2,(v1,v2)->v2));

理解:
m1-> m1.getCurrClientNo()作为map的键
m2->m2作为map的值
(v1,v2)->v2:键冲突时保留原始的值

7、.findAny()

.findAny()
.orElse(StringUtils.EMPTY);
理解:
.findAny()用于查找任意一个元素井返回optional对象
如果流为空,则返回一个空optional对象
15-20230609
.orElse(StringUtils.EMPTY);用于获取Optional对象中的值,如果optional对象为空,则返回指定的默认值,这里返回一个空宇符串""

8、.groupingby()

根据属性进行分组
在这里插入图片描述
结合filter从分组结果中排除某些条目
在这里插入图片描述
配合mapping
在这里插入图片描述

四、Object…

可变个数的形参,允许一切继承Object的对象作为参数

五、indexOf()

indexOf(string str):返回指定字符str在字符串中(方法调用者) 第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回-1。

indexOf(string str, int index):返回从 index 位置开始查找指定字符str在字符串中第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回-1。

使用实例:

historyCoverage.getFullName.indexOf("安全")<0;

表示不包含“安全”这个司

六、SQL

6.1 count函数

用法:

# 查询符合条件的某列一共有多少行数据
select count(列名)from 表名 where 列名=#{字段名};
# 查询某表的总行数
select count(*) from 表名;
# 查询某列不同值的数目(相同的记为一个)
select count(distinct 列名)from 表名;

使用案例:

<select id="getSigniClaimRecord" parameterType="String" resultType="integer">select count('Y') from event_info elwhere exists (select 1 from claim_apply_cause cacwhere cac.claim_cause = '09' and cac.register_no = e1.regsno)and e1.case_state in ('10', '13', '14')and el.clientno = #{clientNo, jdbcType=VARCHAR}
</select>

count(‘Y’),表示统计满足条件的行数,但是并不关心具体的列或字段。'Y’是一个任意的字符串常量,作为参数传递给COUNT函数,它的实际值并不影响计数的结果。

6.2 select 1

select 1 from 表示如果返回结果为空,则表示条件不满足;如果返回结果为1,则表示条件满足。

七、 final类型的属性值可以改吗

final 修饰的引用类型属性本身是不可改变的,但是它所引用的对象的状态可以改变。

八 、bitset

使用位来存储Boolean信息,0表示假,1表示真
用法:

九、Optional.ofNullable()

作用:解决空值判断问题,避免空值(null)显示判断,避免空值导致的空指针问题

//if判断:判断好多层int count1 = 1;if(testDemo != null){if(testDemo.getCount() != null){count1 = testDemo.getCount();}}System.out.println(count1);//三目运算符:嵌套层数深,可读性不好int count2 = testDemo != null ? (testDemo.getCount() != null ? testDemo.getCount() : 1) : 1;System.out.println(count2);//Java8-Optional:优雅,可读性较好int count3 = Optional.ofNullable(testDemo).map(item -> item.getCount()).orElse(1);System.out.println(count3);

http://www.ppmy.cn/news/356575.html

相关文章

harbor仓库的搭建

harbor仓库的搭建 前言一、准备二、registry私有仓库拉取registry镜像上传镜像下载镜像添加私有仓库解析配置使用非加密端口拉取镜像 三、仓库加密域名保持一致部署客户端证书&#xff0c;不然会报错验证仓库认证删除registry&#xff0c;重建登录仓库&#xff0c;不然无法上传…

计算机启动方式如何选择USB启动,bios设置usb启动的方法

一般的品牌机,例如联想电脑,无论台式机或笔记本,选择u盘制作启动盘的键都是F12,开机的时候按F12键会出现启动项选择界面,从中我们可以选择电脑从什么介质启动,但是bios设置usb启动的方法是什么呢?其实关于bios设置启动的方法有很多,今天小编就为大家介绍bios设置usb启动…

u大师u盘装系统win7_使用U盘安装Win7/Win8/Win10系统完美教程

通用PE U盘安装Win7/Win8/Win10完美教程(多图) 首先准备一个4G以上的U盘 一台能正常使用的电脑 下载通用pe工具箱最新版 最新版下载地址 TongYongPe_V10.3.4.20 百度云链接&#xff1a; https://pan.baidu.com/s/1VijyBJuG8QDHr7rz8Ks8oA 提取码&#xff1a;5idh 一、接下来制作…

U启动PE装机工具

导读&#xff1a; u盘怎样安装原版win7系统&#xff1f;如何使用u启动u盘装系统工具重装原版win7系统&#xff1f;u启动小编教大家如何使用u启动制作的u盘来安装原版 Win7系统&#xff01; u启动u盘装系统需要准备? 1.一个已经使用u启动制作好启动盘的u盘。 关于如何使用u启动…

瑞星linux u盘引导盘杀毒教程,瑞星杀毒U盘怎样用U盘启动电脑

2018-01-15 电脑怎么设置u盘启动_电脑怎样设置u盘启动 现在的电脑、笔记本光驱已经越来越少了,甚至都不配光驱了。U盘则是越来越多了,不管是装系统还是维护电脑,U盘系统成了必不可少的工具。那电脑要怎么设置从U盘启动呢?下面跟安下小编一起来看看。提示:若使用U盘启动盘制作工…

win7开机卡在正在启动_Win7系统崩溃后小白的终极解决方案,看一遍你也会

WIN7系统蓝屏崩溃了你是不是心急如焚,不知所措。头条是算法推荐文章,既然你刷到了这篇文章,说明你有可能需要,点赞,转发,保存收藏吧! 第一步,准备工作: 1、一个8G优盘。 2、一台可以上网的电脑(网吧、朋友家的都可以,系统不影响)。 3、一个会用鼠标键盘看得懂文字的人…

如何通过ISO安装win7程序

从下载u启动工具到安装Ghost Win7系统教程 来源&#xff1a;http://www.uqidong.com时间&#xff1a;2013-08-12 09:17:38 怎样用u启动u盘启动盘安装ghost系统&#xff1f;u启动制作的启动u盘怎样安装ghost系统&#xff1f;今天u启动小编详述怎样使用u启动重装ghost Win7系统&a…

经济高效 无盘组网设备选购方案(转)

无盘工作站已不是一个新鲜的话题&#xff0c;无盘工作站就是采用一台带有硬盘的服务器带动多台无硬盘工作站工作的网络结构&#xff0c;工作站的配置根据具体环境确定&#xff0c;但必需使用带远程启动的网卡。由于无盘工作站缺少硬盘&#xff0c;用户不但可以节省资金&#xf…