【字符串中的小问题大智慧】

说到字符串比较,大家都知道,但你真的知道如何比较才是最正确的吗?

  不知道的人,几乎都是用以下方法来比较的

  [java]

  String str = null

  if (str == null || str.equals("")) {

  }

  String str = null

  if (str == null || str.equals("")) {

  }这实际上是效率最低的,正确的做法是:

  [java]

  String str = null;

  if (str == null || str.isEmpty()) {

  }

  String str = null;

  if (str == null || str.isEmpty()) {

  }但上述方法需要jdk在1.6以上,那么也可以用:

  [java]

  String str = null;

  if (str == null || str.length() == 0) {

  }

  String str = null;

  if (str == null || str.length() == 0) {

  }另外str.equals("1")与"1".equals(str)不同,前者如果str为null,会报空指针异常,而后者不会。

  上述问题虽然看似简单,但却反映出一名程序员的编程素质和态度,在我以前的文章中曾反复强调,一段好的代码,不是说实现功能电脑桌面图片就完了,而是在实现功能的前提下如何能高效、稳定、健全。同样的业务,你可能要花费1s,别人却只需0.3s,放大到服务器上,在高负载的情况下,别人的项目能正常运行,你的就挂了。

  无论是怎样优秀的程序员,也都是从无知到有知,谁都是从菜鸟级别一步步成长来的,但一些人在成长到一定阶段后便再也无法成长的原因在于,欠缺思考、永不放弃的坚强毅力和追求理想的心态。

  软件本身代表着自动化、智能化、高效化,软件是有代码编写而来的,因此代码本身也是具有这些特征的,一些程序员之所以显得“苦逼”,日日夜夜写代码,实际根本原因在于代码质量不高,失去了代码本身的特色,变成了纯粹体力话,不断重复着缝缝补补、复制粘贴。将自己由一个“艺人”变成了“工人”。

posted on 2013-09-13 09:32  潇洒kman  阅读(194)  评论(0编辑  收藏  举报