Amos的随笔

Java/Python/Go,软件测试等等

导航

01 2019 档案

JAVA while同时遍历两个文件的坑
摘要:背景 每一次踩坑,都是一次成长! 有两个文件,第一个文件长这样: 110000,北京市 110101,东城区 … 第二个文件长这样: 沪L,上海市 京M,北京市 … 需求:遍历两个文件,第1个文件内的城市名如果在第2个文件里找到,那么在第1个文件内行后添加上车牌号,比如: 110000,北京市,京M 阅读全文

posted @ 2019-01-25 17:30 AmosChen 阅读(10) 评论(0) 推荐(0)

Idea执行assert false未生效问题处理
摘要:问题背景 在某个方法里添加了assert false来主动抛出异常,但是很奇怪的时,执行到这段代码却没有堆栈抛出。 测试assert false package com.amos.learn.util; import org.junit.Test; public class AssertTest { 阅读全文

posted @ 2019-01-25 11:26 AmosChen 阅读(106) 评论(0) 推荐(0)

【疑问】为什么Java Calendar类的月份与实际月份少1?
摘要:这个答案搜了很多,好像也没有一个明确的回答。 最初猜想 Calendar类当初设计时的一个bug,由于已经使用开来,没法贸然的修改 查源码找答案 下面是Calendar类中属性MONTH的注释以及定义: /** * Field number for <code>get</code> and <cod 阅读全文

posted @ 2019-01-24 11:31 AmosChen 阅读(97) 评论(0) 推荐(0)

【lombok】@EqualsAndHashCode - 相等更简单:从对象的字段生成hashCode和equals实现
摘要:@EqualsAndHashCode 任意类的定义都可以添加@EqualsAndHashCode注解,让lombok帮你生成equals(Object other)和hashCode()方法的实现。默认情况下会使用非静态和非transient型字段来生成,但是你也通过在字段上添加 @EqualsAn 阅读全文

posted @ 2019-01-20 19:04 AmosChen 阅读(221) 评论(0) 推荐(0)

【lombok】@ToString - 不再需要自己覆写toString,让lombok帮你生成
摘要:@ToString 任何类定义都可以用@ToString注释,让lombok生成toString()方法的实现。默认情况下,它会按顺序打印您的类名称以及每个字段,并以逗号分隔。通过将includeFieldNames参数设置为true,您可以为toString()方法的输出添加一些清晰度(但也有一些 阅读全文

posted @ 2019-01-19 22:50 AmosChen 阅读(364) 评论(0) 推荐(0)

【lombok】@Getter @Setter 和 public Object getFoo() {return foo;} 说拜拜
摘要:@Getter @Setter 您可以使用@Getter和/或@Setter注释任何字段(类属性),让lombok自动生成默认的get方法 / set方法。 默认的getter返回该字段(被@Getter注释的字段),如果字段名为foo,则命名为getFoo(如果字段的类型为boolean,则命名为 阅读全文

posted @ 2019-01-19 16:26 AmosChen 阅读(31) 评论(0) 推荐(0)

【lombok】@Cleanup - 自动资源管理,安全的调用close方法
摘要:@Cleanup 当在处理文件对象,或者数据库资源时,我们总是会忘记close,可能引发内存溢出。 如果手动去调用close方法,代码又会非常长,现在有了@Cleanup , 我们不再需要担心这些问题。 您可以使用@Cleanup确保在代码执行路径退出当前作用域之前自动清除给定资源。 您可以通过使用 阅读全文

posted @ 2019-01-18 18:08 AmosChen 阅读(127) 评论(0) 推荐(0)

【lombok】@NonNull - 不再忧虑NullPointerException
摘要:@NonNull 说到NullPointerException,可能会是所有java搬砖工的噩梦吧? 现在有了@NonNull , 让我们不在忧虑NPE!!! 您可以在方法或构造函数的参数上使用@NonNull让lombok为您生成null-check语句。 如果lombok为您生成整个方法或构造函 阅读全文

posted @ 2019-01-18 17:37 AmosChen 阅读(132) 评论(0) 推荐(0)

【lombok】val - final型局部变量
摘要:背景 闲来无事,总是想写一些东西。感谢强大的lombok,觉得有必要写几篇文章总结一下它的用法。 不可变局部变量val 您可以使用val作为局部变量声明的类型,而不是实际写入类型。 执行此操作时,将从初始化表达式推断出类型。 本地变量也将成为最终变量。 此功能仅适用于局部变量和foreach循环,而 阅读全文

posted @ 2019-01-17 00:24 AmosChen 阅读(52) 评论(0) 推荐(0)

【lombok】var - 无忧的局部变量
摘要:可变局部变量var var的工作原理与val完全相同,但局部变量不会标记为final。 该类型仍然推断至初始化表达式,并且任何重新的赋值都是合法的(因为变量不再是final类型),但不会再查找以确定适当的类型(我个人的理解是: 已推导出某个类型,虽然又重新赋值,但不会再重新推导出另一个合适类型)。 阅读全文

posted @ 2019-01-17 00:23 AmosChen 阅读(79) 评论(0) 推荐(0)

postgre循环插入表数据
摘要:do $$ declare v_idx integer := 1; begin while v_idx < 96 loop INSERT INTO table(col1,col2) values (v_idx, 123); v_idx = v_idx + 1; end loop; end $$; 阅读全文

posted @ 2019-01-14 10:21 AmosChen 阅读(5) 评论(0) 推荐(0)

Java异常简介及其架构
摘要:背景 作为java初学者,认为有必要把一些基础知识夯实。上周五把自己的代码放在sonar里面扫描后,提示在catch段代码出现了怀味道,具体代码如下 try{ // do something }catch (BadHanyuPinyinOutputFormatCombination e) { e.p 阅读全文

posted @ 2019-01-07 20:25 AmosChen 阅读(18) 评论(0) 推荐(0)

Java位运算^,^=,|,|=,&,&=简述
摘要:背景 今天突然看到 java的类库java.util.regex.Pattern 里,第1344行内有这么一句 flags |= UNICODE_CASE 比较懵,不知道|=是什么意思。 解惑 | 与 |= | 运算 0|1=1, 1|0=1, 0|0=0, 1|1=1 a|=b 即是将 a|b 的 阅读全文

posted @ 2019-01-02 17:52 AmosChen 阅读(26) 评论(0) 推荐(0)