Java
_睶_
大学转专业自学JAVA,19年毕业,SHEIN初级开发-》高级开发
展开
-
空指针异常排查
空指针异常就是某个操作产生的结果为空(null),为空的话是不能进行其他操作。排查空指针其实有几个比较常见的场景,也是比较容易犯错的。1)查询的对象为null,然后进行get操作(最常见的是从数据库查询一个实体为Null)2)集合为空,然后对集合进行操作,比如排序,遍历。要注意的:要时刻注意空指针思想,因为这个是最常见也是比较容易忘记的bug...原创 2020-09-08 11:48:09 · 2476 阅读 · 0 评论 -
切割List并分批处理
切割List成多List<List>,并分批处理切割List成多List<List>import com.google.common.collect.Lists;private void splitList(List<T> list, Integer limit){ List<List<T>> parts = Lists.par...原创 2020-03-24 18:14:09 · 716 阅读 · 0 评论 -
启动项目报内存溢出怎么处理
build时提高内存到1000(适当调大)原创 2020-01-16 16:46:18 · 1082 阅读 · 0 评论 -
Auto packing the repository in background for optimum performance.
git操作是提示:Auto packing the repository in background for optimum performance.处理:调用一下命令git gc --prune=now原创 2020-01-16 15:56:33 · 773 阅读 · 0 评论 -
Java中运算符“||”和“&&”
Java中运算符“||”和“&&”“||”:左边为true就不执行右边的判断的“&&”:左边为false时就不执行右边的判断了这个作用有利于处理空指针的问题。...原创 2020-01-16 10:22:55 · 1031 阅读 · 0 评论 -
java注解使用isAnnotationPresent(Invoke.class)一直返回false
本人的情况是class名相同,比如都是Excel类,但是相对路径不一样,所以isAnnotationPresent一直返回false,有点马虎。注意下import的是什么原创 2019-11-25 21:20:34 · 1648 阅读 · 2 评论 -
TreeSet的使用
package com.akaiqi.chun.collection;import java.util.Arrays;import java.util.Comparator;import java.util.List;import java.util.TreeSet;/** * TreeSet * * @author akaiqi * @date 2019/11/4 20:1...原创 2019-11-04 21:22:17 · 591 阅读 · 0 评论 -
Java8的Date和LocalDateTime互相转换
/** * Date转换为LocalDateTime */ private static void test2() { Date date = new Date(); Instant instant = date.toInstant(); ZoneId zoneId = ZoneId.systemDefault(); ...原创 2019-11-04 14:51:20 · 3172 阅读 · 0 评论 -
LocalDate的API操作
package com.akaiqi.chun.time;import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.ChronoField;import java.time.temporal.Temporal;import static java.time.tempor...原创 2019-11-04 10:30:57 · 1037 阅读 · 0 评论 -
字符串的替代
给定一个字符串:如下,如何对{X}进行字符串替换?String str ="姓名:{1},班级:{2},年龄:{3}";参考使用:public String replace(CharSequence target, CharSequence replacement)将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列。 替换从字符串开始到结束,例如,在字符串“aaa”中用...原创 2019-08-18 15:22:00 · 2258 阅读 · 0 评论 -
通过Collection实现类创建ArrayList(含源码解析)
ArrayList(Collection<? extends E> c) 此构造器允许我们方便快捷的将Collection体系下的集合转换成ArrayList.如下实现类均作为参数(since 1.8):AbstractCollection , AbstractList , AbstractQueue , AbstractSequentialList , AbstractSet ,...原创 2019-08-27 14:15:02 · 910 阅读 · 0 评论 -
Java查找字符串中子串
int indexOf(int ch) 返回指定字符第一次出现的字符串内的索引。索引是从0开始,返回的是其对应的位置,注意:当找不到时返回-1;下同。 String url = "https://blog.csdn.net/Butterfly_resting"; int index= url.indexOf("/"); System.out.println("i...原创 2019-09-08 12:12:19 · 5989 阅读 · 0 评论 -
获取两个字符串List的相同元素的两种方法。
时间复杂度:O( nlog(n) ),归并排序的思想。输出结果集为Collection子类:如图/** * 获取两个字符串List的相同元素 * * @param listOne 字符串列表1 * @param listTwo 字符串列表2 * @param result 用于装结果集的容器 * @return 返回两个字符串Li...原创 2019-09-08 12:57:24 · 3364 阅读 · 0 评论 -
Set的5种遍历方式
package com.akaiqi.chun.test;import java.util.*;public class testSet {public static void main(String[] args) { List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7...原创 2019-09-11 17:27:01 · 2505 阅读 · 0 评论 -
比较两个字符串值是否相等的两种方法(含源码解析)
public static void main(String[] args) { String str1 = "1234"; String str2 = "12345"; String str3 = "1234"; //方法一:使用StringUtilS工具类 /* =0则相等 StringUti...原创 2019-09-12 15:33:23 · 21079 阅读 · 0 评论 -
Cannot resolve method 'builder()'
pom.xml配置了lombok,但还是出现如下问题:Cannot resolve method ‘builder()’问题的原因占时没有想到。解决办法:在IDEA的插件中下载lombok,解决了问题。...原创 2019-09-25 18:00:50 · 5323 阅读 · 2 评论 -
格式字符串
String str = "123"参考方法一:static String format(String format, Object… args)format:待格式化的Stringargs:需要格式字符串中格式说明符引用的参数。String.format("显示的数字为%s" , str );常用的格式转换,如图所示:...原创 2019-08-18 15:03:17 · 591 阅读 · 0 评论 -
Stream的peek和map的区别
JDK对两者介绍:Stream peek(Consumer<? super T> action)返回由该流的元素组成的流,另外在从生成的流中消耗元素时对每个元素执行提供的操作。 Stream map(Function<? super T,? extends R> mapper)返回由给定函数应用于此流的元素的结果组成的流。1.接收的参数不同。peek接收的参数类...原创 2019-08-18 10:42:26 · 11067 阅读 · 0 评论 -
JSONObject源码解析
JSON(JavaScript Object Notation的首字母缩写)是一种轻量级数据交换格式,最常用于客户端 - 服务器通信。它既易于读/写,又与语言无关。JSON值可以是另一个JSON 对象,数组,数字,字符串,布尔值(true / false)或null。也是后端开发中经常要接触的一个一个类,将要数据封装成json然后传递给前端。只要我们导入如下maven依赖即可使用由阿里巴巴发布的...原创 2019-08-24 17:08:37 · 6437 阅读 · 0 评论 -
Java的String为什么不可变?(String源码解析)
让我们先看看String的源码:public final class String{ private final char value[];//容器,存放字符串的 private int hash;//哈希值 private static final long serialVersionUID = -6849794470754667710L; private st...原创 2019-04-19 21:15:48 · 530 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Can not set final [B field java.lang.String.value to java.lang.S
java.lang.IllegalArgumentException: Can not set final [B field java.lang.String.value to java.lang.String at java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(U...原创 2019-04-19 16:55:26 · 16680 阅读 · 0 评论 -
Java经典面试题:equals ,== 和hashcode()的区别
==:对于基本类型是值比较,对于引用类型来说是引用比较。 /** * == 的比较 */ @Test public void testOne(){ int a = 200; int b = 200; Integer c = 200; Integer d = 200; //值比较...原创 2019-06-12 10:52:49 · 1575 阅读 · 1 评论 -
开发中DTO,VO的解释
刚入职,体验到企业级的开发,发现跟大学自己“玩”的代码不一样,代码有很多规范,也会有拧螺丝的体验。开发中会接触到PO,VO,DTO,BO,DAO,POJO的类命名。下面对VO,DTO看法.先见图:看着这图就比较复杂了,下面是我的简单看法,因为每个公司都有自己的规范或者要求,尽量多问问同事。PO,BO,POJO等比较容易理解。如:PO 持久对象,数据;BO 业务对象,封装对象、复杂对象 ...原创 2019-07-20 19:30:30 · 6076 阅读 · 8 评论 -
如何将String字符串日期转换成Date类型
场景:尝试从List< Map<String,Object> >(List<Map> logList = (List) maps.get("list");) 取出其包含Date类型的数据,本以为使用(Date)强转可以转化发现不行,出现如下错误:java.lang.ClassCastException: java.lang.String cannot be ...原创 2019-08-04 10:09:01 · 55481 阅读 · 3 评论 -
Java怎么实现导出Excel
使用的工具类:org.jeecgframework.poi.excel.ExcelExportUtil源码如下:public class ExcelExportUtil { private ExcelExportUtil() { } /** * @param entity * 表格标题属性 * @param poj...原创 2019-08-04 10:41:52 · 1827 阅读 · 1 评论 -
判断对象是否为空的Java工具类
public final class Objectsstatic boolean isNull(Object obj)返回 true如果提供的参考 null否则返回 falsepublic static boolean isNull(Object obj) { return obj == null;}public static boolean nonNull(Object o...原创 2019-08-04 11:22:44 · 5378 阅读 · 0 评论 -
Method invocation 'setXXX' may produce 'NullPointerException'
在创建Vo对象来存数据,并添加到list数组的时候,Postman调试一直报错。VO对象(使用了Lombok)代码如下:@Data@EqualsAndHashCode(callSuper = true)public class OrderImgRefreshVo { /** * 订单id */ private Integer id; /**...原创 2019-07-22 21:40:05 · 21506 阅读 · 1 评论 -
Unchecked call to 'forEach()' as a member of raw type 'java.lang.Iterable'
代码简单如下: list是List<Map>列表 ... list.forEach(entity -> { String jsonString = JSONObject.toJSONString(entity, SerializerFeature.WriteMapNullValue); Map d...原创 2019-08-08 11:32:42 · 4417 阅读 · 0 评论 -
如何判断数组或列表为空
工具类:org.apache.commons.collections.CollectionUtils#isEmpty/** * Null-safe check if the specified collection is empty. * <p> * Null returns true. * * @param coll the c...原创 2019-08-06 09:42:57 · 1086 阅读 · 0 评论 -
lambok@Builder和@Data不能共用
由于添加@Builder会将@Data让类缺失无参构造器,加上即可。 @Tolerate public OrderExtendEntity(){}原创 2019-08-18 16:34:24 · 2820 阅读 · 3 评论 -
Lambda 和Stream实战例子收集
Function<T, R> - 以T为输入,返回R作为输出Predicate - 以T为输入,返回布尔值作为输出Consumer - 将T作为输入,执行某些操作并且不返回任何内容Supplier - 没有任何输入,返回TIntConsumer -取两个T作为输入,返回一个T作为输出,对“减少”操作很有用获取流的最常见方式可能来自集合:Stream stream = c...原创 2019-08-09 19:39:13 · 737 阅读 · 0 评论 -
如何遍历Map的每个元素
方法一:使用entrySet方法:示例:public static void main(String[] args) { Map<String, String> param = new HashMap<>(8); param.put("1","A"); param.put("2","B"); param.p...原创 2019-08-23 17:46:17 · 1464 阅读 · 0 评论 -
Java8的removeIf和filter的区别
Stream filter(Predicate<? super T> predicate)返回由与此给定谓词匹配的此流的元素组成的流。removeIf和filter方法都能达到过滤/删除元素的作用。从功能是实现上,removeIf是条件为true则过滤此元素,false则保留。而filter则是条件为false过滤此元素,而true则保留。从时间上,要看场景,因为remov...原创 2019-08-23 20:24:53 · 3987 阅读 · 1 评论 -
枚举类的创建与使用
public enum TestEnum { /** * 年级-班级 */ CLASS_ONE_SENIOR_HIGH_SCHOOL("高中","1班"), //多个使用逗号隔开,以分号结束 CLASS_TWO_SENIOR_HIGH_SCHOOL("高中","2班"); private String key; private S...原创 2019-08-23 21:14:35 · 625 阅读 · 0 评论 -
StringUtils的equals方法判断两个字符串是否相等
源码: public static boolean equals(final CharSequence cs1, final CharSequence cs2) { //同一对象返回true if (cs1 == cs2) { return true; } //一个或两个都为null返回false if...原创 2019-08-15 10:28:52 · 8260 阅读 · 1 评论