杂记Java
2021-05-06 13:29
标签:说明 pil round lead employee 杂记 extends iterator 编程 maven指令 mvn clean package 依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。 0. 函数式编程 1.Stream流式 模板: strings.stream().filter/map/collect/sorted(? -> ?).collect(Collectors.toList()/.joining()/.toMap()/.groupingBy()) /.count() ; anyMatch(),只要有一个元素匹配传入的条件,就返回 true。 并行Streams 多个线程来操作Stream 例子: allRoleOfEmployee.getResultObj().stream().anyMatch(i -> i.getRoleId() == role); { 5. 6..数组 集合 相互转换 7. 8.遍历map集合 9. boolean返回值 10.查询模板 Result } @Override 11.断言 12.BigDecimal 13.非空判断 14. Duplicate 冲突 15.SQL语句 16.boolean的结果 可以通过判断相关联 17. 根据传入的类型 找到所有该类型的类的集合 18. JSON数据转化成对应的类 19.三元式 20. 21.遍历Map 杂记Java 标签:说明 pil round lead employee 杂记 extends iterator 编程 原文地址:https://www.cnblogs.com/ttaall/p/13189153.html
mvn clean install 依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段
mvn clean compile
super T>表示包括T在内的任何T的父类, extends T>表示包括T在内的任何T的子类
@FunctionalInterface
interface Converter
T convert(F from);
}
Converter
Integer converted = converter.convert("123");
System.out.println(converted); // 123
list.foreach(System.out :: println);
map 方法用于映射每个元素到对应的结果,以下代码片段使用 map 输出了元素对应的平方数: map用集合转换
filter 方法用于通过设置的条件过滤出元素。以下代码片段使用 filter 方法过滤出空字符串:
limit 方法用于获取指定数量的流。 以下代码片段使用 limit 方法打印出 10 条数据
sorted 方法用于对流进行排序。以下代码片段使用 sorted 方法对输出的 10 个随机数进行排序:
allMatch(),只有有一个元素不匹配传入的条件,就返回 false;如果全部匹配,则返回true。
noneMatch(),只要有一个元素匹配传入的条件,就返回 false;如果全部匹配,则返回 true。
values.parallelStream().sorted().count()
Map
.collect(Collectors.toMap(SalerSignInRelCount::getStaffId, salerSignInRelCount -> salerSignInRelCount));
2.
@ControllerAdvice 全局捕获异常
3.
String :: new
interface PersonFactory
P create(String firstName, String lastName);
}
4. 三元式
BizPlatformTypeEnum platformTypeEnum = crmBizPlatform == null ?
BizPlatformTypeEnum.getByCode(loginEmployee.getMajorSubject()) : BizPlatformTypeEnum.getByCode(crmBizPlatform);
泛型通配符 extends T>来接收返回的数据,此写法的泛型集合不能使用 add 方 法,而 super T>不能使用 get 方法,作为接口调用赋值时易出错。
说明:扩展说一下 PECS(Producer Extends Consumer Super)原则:
第一、频繁往外读取内容的,适合用 extends T>。
第二、经常往里插入的,适合用 super T>。
集合->数组 list.toArray(array)
类 Arrays.asList()把数组转换成集合,本质上返回对象是Arrays的内部类,只是转换接口,数据仍是数组。不能使用add remove clear方法
不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator
方式,如果并发操作,需要对 Iterator 对象加锁
使用 entrySet 遍历 Map 类集合 KV,而不是 keySet 方式进行遍历。keySet遍历两次,消耗性能
return a==b&&a==c;
返回用Result模板接受
查询模板接口BizQueryTemplate()传入一个回调接口BizServiceCallback query =
BizQueryTemplate.query(new BizServiceCallback() {
@Override
public void checkParams() throws Exception {
public List doQuery() throws Exception {
// 新老noteType的转化
List
if (noteType != null) {
noteTypeList = NewNoteType.val4Search(noteType);
}
return adUserInfoRepository.queryAccessibleAdUser(staffIdList, grade, operatorStaffId, noteTypeList,
System.currentTimeMillis(), queryCondition, source, orderType, pageNum, pageSize);
}
});
Spring Assert 用于字符判断 否则抛出异常(自定义的异常)
Assert.notNull(Object object, "object is required") - 对象非空
Assert.isTrue(Object object, "object must be true") - 对象必须为true
Assert.notEmpty(Collection collection, "collection must not be empty") - 集合非空
Assert.hasLength(String text, "text must be specified") - 字符不为null且字符长度不为0
Assert.hasText(String text, "text must not be empty") - text 不为null且必须至少包含一个非空格的字符
Assert.isInstanceOf(Class clazz, Object obj, "clazz must be of type [clazz]") - obj必须能被正确造型成为clazz 指定的类
BigDecimal进行截断和四舍五入可用setScale方法
new BigDecimal("4.278").setScale(3,RoundingMode.HALF_UP); //保留三位小数,四舍五入
数组 groupIds[] (groupIds != null && groupIds.length > 0)
字符串 StringUtils.isEmpty("") StringUtils.isNotEmpty(); StringUtils.isBlank(""); //是否为空长度为0或者空白符
集合 CollectionUtils.isNotEmpty(list);
数字 NumberUtils.isNumber(); //判断是否为数字
select
case when (p.gid>0 or rscu.user_id>0) then 1 else 0 end as introduction
from 表名
模糊查询: and u.nick_name like concat(‘%‘,#{nickName},‘%‘)
boolean hasLeadingPlusSign = start == 1 && chars[0] == ‘+‘;
ApplicationContext.getBeansOfType(Class
JSON.parseObject(hit.getSourceAsString(), UserExtDo.class)
sb.append(e == this ? "(this Collection)" : e);
HashMap 使用 HashMap(int initialCapacity) 初始化, 正例:initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即 loader
factor)默认为 0.75,如果暂时无法确定初始值大小,请设置为 16(即默认值)
// 传统的Map迭代方式
for (Map.Entry
System.out.println(entry.getKey() + ":" + entry.getValue());
}
// JDK8的迭代方式
infoMap.forEach((key, value) -> {
System.out.println(key + ":" + value);
});
下一篇:python