• 使用==来判断字符串相等。事实上对于对象变量而言,==判断的是引用值是否相等,换言之是判断两变量是否指向同一个object。但对于字符串而言,最常见的需求是想看字符串的内容和顺序是否一致。这种情况下需要用equalscompareTo
  • Java区分大小写,对于字符串内容更是如此。如果s1 = "Hi"s2 = "hi",则s1.equals(s2)false
  • 误认为substring(from, to)会取到to指向的字符。事实上,新字符串只到to的前一个字符。
  • 觉得字符串可以改变。事实上它们是不变的,任何对字符串的操作都是以创造新字符串而告终。
  • 试图对未初始化的字符串变量执行indexOf,这会造成程序在运行时抛出异常。

陈 欣

AADPS创始人

发表评论