记录一些tips
Java SE
- 在throw语句后写语句会出现unreachable statement运行时错误,因为肯定没有机会执行,编译不通过。
- goto、const是保留字但不是关键字。then什么都不是,可以使用。
- 接口中包含常量(没有变量)和抽象方法。
定义的常量默认是public、final、static,
定义的抽象方法默认是public、abstract。 - 若调用split(String regex)时当前对象的前缀匹配regex,则分隔后的数组第一项为一个空字符串,即""。
String[] split = ",hello,world,".split(",");
System.out.println(Arrays.toString(split));
//输出
//[, hello, world]
- Double.parseDouble(String s)中参数s的前缀和后缀可以有空格。
但是Integer.parseInt(String s)中参数s的前缀和后缀都严格不能有空格,否则抛出异常。
System.out.println(Double.parseDouble(" 3.14 ")); //输出3.14
System.out.println(Integer.parseInt(" 314 ")); //抛出异常
- 如果对正在被迭代的集合进行结构上的改变(即对该集合使用add、remove或clear方法),那么迭代器就不再合法(并且在其后使用该迭代器时将会有Concurrent-ModificationException异常被抛出)。然而,如果迭代器调用了它自己的remove方法,那么这个迭代器就仍然是合法的。
- 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值类型不变或为父类的派生类,形参不能改变。即外壳不变,核心重写!
Java Web
- response.getWriter()获取流的默认编码是ISO-8859-1,要想输出中文不乱码需要手动设置编码。方法:
在获取流之前设置 response.setContentType(“text/html;charset=UTF-8”);
这行代码同时做了两件事:①设置该流的编码(UTF-8)②告诉浏览器该如何解码(UTF-8)。 - URL和URI
一个例子:http://localhost:8080/myApp/demo1
URL: http:// localhost: 8080 /myApp/demo1
↑ ↑ ↑ ↑
协议 主机 端口 URI