1. 空指针异常, 在获得对象使用它的时候,首先要判断一下这个对象是否会为空。或者压根不会为空。否者在调用它的对象或者遍历它的时候就会出现异常。
2. 不区分大小写单词匹配的正则表达式."(?i)\\byourword \\b" (?i)表示不区分大小写。是通过英文 google出来的。keywork: regular ignore case, 然后google会自动提示一些相似的keyword。
然后一个非常好的测试regular expression的网站: http://gskinner.com/RegExr/
3. 遇到error,首先是看错误信息是什么, 在什么地方发生的。 如果错误信息不给力,就debug代码,经常会进入到源码,这是一个比较耗时的过程。 如果无法跟踪到出现错误的代码,就有可能不是代码错了,而是jar包的问题,比如同个jar包在多个级别加载,造成重复。比如自身lib 和tomca/lib/ext.
4. 思维的严谨性。比如替换文章的术语为link的样子, 术语SAP, 如下的都要可以替换, sap, Sap, SAP. 也就是忽略大小的替换为link. 一开始就考虑这三种情况,一样的,全小写,全大写, 忽略了Sap这样的情况。 生活中一个例子, 我今天在网上订了火车票, 初一早上 7:30的火车。 其实在订票之前应该 考虑一下, 如何去火车站,这么早,还是初一。 就是一个时间的维度去多思考一下。