一、Boolean和boolean
1)基本:boolean是基本数据类型,而Boolean是他对应的包装类,
自jdk1.5.0以上版本后,Boolean在”赋值”和判断上和boolean一样,
但是从列表或者哈希表获取值时会用到Boolean。
boolean t = false;
Map map = new HashMap();
map.put("t", t);
Boolean t1 = (Boolean) map.get(t); //前面只能用Boolean强制转换,不能使用boolean.
2)时机:那什么时候用Boolean和Boolean呢,阿里巴巴开发手册有说:
所以:一般情况下用boolean基本类型,但是有封装集合的时候就用Boolean。
3)错误:借鉴别人错误:
1、用Boolean申明的类需要我们给他初始化,否则的话就会报空。原文连接
二、java随机生成8位数字
主要用两种方法:
1、Random()
new Random().nextInt(100000000);//有可能会重复
或者Math.random();
2、系统时间
System.currentTimeMillis();//然后再截取一下后8位,这个不会重复
参考:
参考1
三、单元测试中参数的设置(注解)
1)@CsvSource+@ParameterizedTest
@CsvSource({
"'给的参数given','应该返回的expect'",
"'给的参数given','应该返回的expect'"
})
@ParameterizedTest(name = "should return {1} when given {0}")
void refreshCompCondition(String given, String expect) {
Assertions.assertEquals(expect, method(given));
}
2)@MethodSource+@ParameterizedTest
static Stream<Arguments> process() {
return Stream.of(
arguments(
"给的参数input",
"应该返回的expect"));
}
@MethodSource
@ParameterizedTest
void process(String input, String expect) {
Assertions.assertEquals(expect, method(given));
}
四、idea 插件google-java-format的奇怪错误
1)现象:注释格式化不是想要的:(好几个@xxx都拼到一行了)
/**
* 这是一些简单的文字,文字,文字。
* @Param id 这是id
* @Return void @creator XXXX @Since 2020/9/27 16:55
*/
这才是想要的:
/**
* 这是一些简单的文字,文字,文字。
* @param id 这是id
* @return void
* @creator XXXX
* @since 2020/9/27 16:55
*/
2)结论:注意“@”后面第一个字母是小写,注意注解里面不能有乱码
附:idea官网插件地址:https://plugins.jetbrains.com/plugin/8527-google-java-format
插件Google-java-format和save actions安装使用方法:https://blog.csdn.net/Mr_rain/article/details/79279931
五、@Valid @NotNull @NotBlank @NotEmpty
1)@Valid注解的使用,可以很方便的返回提示信息,简化代码。
2)@NotNull, @NotEmpty和@NotBlank:我一般integer类型用@NotNull,String类型用@NotBlank;
@NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0)。
@NotEmpty://CharSequence, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。
@NotBlank://String 不是 null 且去除两端空白字符后的长度(trimmed length)大于 0。
具体使用方法参见后面博客
参考:参考1