Java书籍学习笔记
# Java核心技术 卷一
# 基本数据结构
java break可以带标签
大数值可以使用bigInteger和bigDecimal
for each使用
for (int a:new int[]{1,2,3}){
System.out.println(a);
}
1
2
3
2
3
匿名数组
可以不声明长度,直接进行初始化,下面这个是简写的形式
int[] arr = {1,2,3,4};
1
数组拷贝
使用下面这种方式来进行拷贝数组
Arrays.copyOf()
1
# 接口、lambda表达式
lambda这个地方理解的还是不够,需要多看看
public void repeat (int n,Runnable action){
for (int i=0;i<n;i++){
action.run();
}
}
@Test
public void addString(){
repeat(2,()->{
System.out.println("666");
});
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
使用Runnable来实现一个lambda表示式,当然还可以自己写一个类
public interface IntConsumer{
void accept(int value);
}
public void repeat (int n,IntConsumer action){
for (int i=0;i<n;i++){
action.accept(i);
}
}
@Test
public void addString(){
repeat(2,(i)->{
System.out.println(i);
});
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
内部类有好几个(局部内部类,匿名内部类,静态内部类)
代理也可以去实践一下
# 异常、断言、日志
使用 e.printStackTrace();
来打印堆栈信息
try {
int a = 10/0;
}catch (Exception e){
e.printStackTrace();
}
1
2
3
4
5
2
3
4
5
断言机制使用 assert
但是默认情况下被禁用了,我们需要加上 -ea
选项来开启
assert 1>2;
1
日志机制,以后程序有问题,使用日志来打印,而不是print
Logger.getGlobal().info("测试");
1
编辑 (opens new window)
上次更新: 2021/04/20, 22:11:56