 Java书籍学习笔记
          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
