简单请求(simple request)确实是“发出去了”,服务器也能收到、处理并返回结果,但浏览器在收到响应后,会因为安全策略而“拦截”掉结果,不让前端 JavaScript 访问它。
小于 1 分钟
简单请求(simple request)确实是“发出去了”,服务器也能收到、处理并返回结果,但浏览器在收到响应后,会因为安全策略而“拦截”掉结果,不让前端 JavaScript 访问它。
首先,注解的使用分成两类
个人目前感觉
注解就是一个标记,在代码编译或者运行时可以通过一些手段找到对应标记的东西
然后基于此,相当于打了个坐标,然后在此上面进行一些自己的处理
主要就是定义注解,然后使用注解,最后写个注解处理器来捕获并处理
带初始值的初始化
如果是 java 9+, 可以直接使用 list.of
List<String> list = List.of("a", "b", "c");
List<String> list = List.of(
new Student("aaa",1),
new Student("bbb",2),
new Student("ccc",3),
);
这种方式创建的列表 不可修改,add() 和 remove() 都会抛出 UnsupportedOperationException。
但如果是 java 8,就没有这个,可以使用 Stream
List<Student> list1 = Stream.of(
new Student("Alice", 20),
new Student("Bob", 21),
new Student("Charlie", 22)
).collect(Collectors.toList());
-128 到 +127 以内的int值都是自动包装好,所以对象都是一个
Scanner 的 nextInt
Scanner scanner = new Scanner(System.in);
scanner.nextInt() 只读整数,不读换行符(\n)
换行符仍然留在输入缓冲区中,需要清理对应的换行符
Java 中 finally 的行为
不论 try 里是正常结束、遇到 return、遇到异常,finally 块里的内容都会被执行。
try {
System.out.println(prompt);
return scanner.nextInt();
} catch (InputMismatchException e) {
System.err.println("输入的不是数字,重新输入");
} finally {
scanner.nextLine(); // 关键:清除输入缓冲区的换行符
}
即使这样,也会执行 finally,这样解决了缓冲区存在 \n 的问题
consume