随笔分类 -  Java

java常见用法汇总及常用的工具类封装
摘要:1.说明 本文是单纯补零操作,如果你是想要在纯整数间进行加减运算后再补零,别浪费时间,文末推荐的文章,有现成封装好的方法。 2.String.format() 作用:可以完成对整数的补零操作。 语法: %d,用来指明后面参数的数据类型; 0,表示在数字前面补零。 固定格式: String.forma 阅读全文
posted @ 2020-12-31 16:05 Marydon 阅读(7737) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 如上图所示,我们想要终止for循环,使用return。 执行结果如下: 我们可以看到,只有赵六没被打印出来,后续的数组元素依旧被执行了。 也就是说,关键字"return",在这里执行的效果相当于普通for循环里的关键词continue"。 2.原因分析 我们知道,在普通for循环里面, 阅读全文
posted @ 2020-12-29 17:51 Marydon 阅读(11384) 评论(0) 推荐(5) 编辑
摘要:1.数组转List String[] array = {"111","222","333"}; List<String> list = Arrays.asList(array); // list.add("444"); list.remove(0); 如上图所示,不可进行新增或删除元素的操作。 Ar 阅读全文
posted @ 2020-12-29 16:16 Marydon 阅读(333) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 在java开发过程中,经常会遇到空指针异常,最普通的异常也是最恶心的报错信息。如何尽可能地规避这种无用的异常,是我们一直努力的目标。 2.jetbrains 今天,来说一下idea的非空校验注解。先说jetbrains公司jar包的特点: 第一,它只能校验编译阶段的非空异常,另外,它只 阅读全文
posted @ 2020-12-18 19:08 Marydon 阅读(11567) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 在java中,泛型用的熟练的话,创建实例将不是难事,难点在于:在实例化对象的时候带构造参数,例如: BigDecimal bg = new BigDecimal(1); 如何使用泛型实现这样的效果? 本质:通过反射来完成 2.生成无参泛型对象 举个栗子: /* * 创建无参泛型对象 * 阅读全文
posted @ 2020-12-17 15:36 Marydon 阅读(6256) 评论(0) 推荐(1) 编辑
摘要:1.情景展示 如上图所示,使用谷歌的Gson将实体类转json字符串,如果实体类的属性值,出现大于号、小于号、等号等符号时,调用GsonBuilder进行转换时,这些符号会被强制转换成unicode编码。 如何解决这个问题? 2.原因分析 错误方式一:使用replaceAll() 错误方式二:使用i 阅读全文
posted @ 2020-11-30 18:33 Marydon 阅读(9330) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 如上图所示,实体类转json,在Java开发中还是很常见的,问题在于:Java属性名称首字母是大写,要求转成json后首字母也必须是大写,如何实现? 2.原因分析 我们知道在Java规范中,实体类的属性名的命名规范需要遵循首字母小写的驼峰命名法,既是规范也是约束也是牢笼。这个时候一旦有 阅读全文
posted @ 2020-11-30 17:15 Marydon 阅读(7687) 评论(2) 推荐(2) 编辑
摘要:1.情景展示 java对象与Map之间进行相互转换,如何实现? 2.分析 通过org.apache.commons.beanutils.BeanUtils类来实现 所需jar包 <dependency> <groupId>commons-beanutils</groupId> <artifactId 阅读全文
posted @ 2020-11-20 11:39 Marydon 阅读(6003) 评论(1) 推荐(1) 编辑
摘要:1.情景展示 如上图所示,我想要将枚举类转换成json对象,key对应属性名称,value对应属性值,效果如下: {"IvcVoucherCode":"200","IvcVoucherStatus":"票据模板下载成功"} 如何实现? 2.代码实现 思路:使用spring的org.springfra 阅读全文
posted @ 2020-11-18 11:20 Marydon 阅读(4937) 评论(1) 推荐(0) 编辑
摘要:1.代码实现 /* * 首字母转大写 * @attention: * @date: 2020年11月17日 0017 14:51 * @param: word 待转换字符串 * @return: java.lang.String 首字母转成了大写 */ public static String co 阅读全文
posted @ 2020-11-18 10:15 Marydon 阅读(3067) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 如上图所示,这一个标准的json字符串,双引号需要使用反斜杠\进行转义, 一般情况下,我们是用不到这种json字符串的,在java中,json字符串的通常表现形式是这种: 其本质还是json对象,并不是真正意义上的json字符串(即使将json对象转字符串),哪里会用到上面那种带转义符 阅读全文
posted @ 2020-11-12 17:59 Marydon 阅读(56892) 评论(2) 推荐(9) 编辑
摘要:1.情景展示 比方说,有一数字000122,进行加法运算+1后,返回000123,如何实现? 2.原因分析 我们知道,在java中,只要是数字,用代表数字类型的数据类型(byte、short、int、long、double、float、BigDecimal)一旦接收,不管数字前方有几个0,都会被吃掉 阅读全文
posted @ 2020-11-12 15:09 Marydon 阅读(2507) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 一共有三种需求: 第一种:判断字符串是否是数字字符串(可以是正整数、0、负整数或者小数); 第二种:判断字符串是否是纯数字,也就说我们数学上的整数(可以是正整数、0、负整数,不包含小数位); 第三种:判断字符串是否是小数,小数点左边必须是整数(只有一个小数点,小数点左边是整数,右边至少 阅读全文
posted @ 2020-11-12 11:54 Marydon 阅读(8980) 评论(3) 推荐(2) 编辑
摘要:1.情景展示 如上图所示,每个服务层都需要注入这个工具类对象 2.原因分析 如果我们每个实现类都加上这样一行代码,实属麻烦; 既然每个类都需要,那我们就可以把它视为公共属性,为了承载这个公共属性,我们就需要创建一个父类,在java中,父类通常是一个抽象类。 3.解决方案 将公有属性放到父类中,接口实 阅读全文
posted @ 2020-11-10 10:48 Marydon 阅读(3759) 评论(0) 推荐(3) 编辑
摘要:1.情景展示 我们在接触单例设计模式的时候,只能创建简单的单例,也就是哪个Java类需要控制成单例,就写一个对应的工具类。例如: 如上图所示,就是单例的表现形式之一:饿汉式(也就是不管你需不需,我先创建一个对象再说,你要我就给,不要我也已经创建好了); 创建单例,我们需要将构造方法私有化,这样就可以 阅读全文
posted @ 2020-09-18 10:56 Marydon 阅读(2390) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 已知json对象MainExt 需要把值为空数组的key移除掉,下面是执行代码 执行结果报错:java.util.ConcurrentModificationException 2.原因分析 大致过程就是: 符合删除条件--》调用remove()方法后,expectedModCount 阅读全文
posted @ 2020-09-04 16:21 Marydon 阅读(2346) 评论(0) 推荐(0) 编辑
摘要:方式一 String[] array = {"111","222","333"}; List<String> list = Arrays.asList(array); // list.add("444"); list.remove(0); 如上图所示,不可进行新增或删除元素的操作。 Arrays.a 阅读全文
posted @ 2020-09-02 15:30 Marydon 阅读(1360) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 如何使用java实现为图片添加水印的功能? 2.导包 使用jdk即可实现功能开发,不需要额外的jar包。 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Ima 阅读全文
posted @ 2020-05-15 16:36 Marydon 阅读(13109) 评论(4) 推荐(10) 编辑
摘要:1.情景展示 java 根据中文生成对应的拼音 2.准备工作 所需jar包:pinyin4j-2.5.0.jar 3.解决方案 导包 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.forma 阅读全文
posted @ 2020-05-14 16:43 Marydon 阅读(3475) 评论(0) 推荐(0) 编辑
摘要:1.情景展示 登录时,生成随机验证码图片,如何实现? 2.原因分析 后台生成验证码并生成图片返回至前台 3.解决方案 导包 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.i 阅读全文
posted @ 2020-04-30 11:38 Marydon 阅读(687) 评论(0) 推荐(0) 编辑