字符串,最初在C中是指一个char数组。在.NET和Java,语言本身内置String的类型,String一个不可变得类型,每次修改,都返回新的实例。以下我讨论关于String类型的一些常见用法。

1、判断是否空字符串

关于字符串的使用//判断是否为null,或者长度是否为0
关于字符串的使用
if (str == null || str.Length == 0)
}

关于字符串的使用//判断是否为null,并且长度是否为0
关于字符串的使用
if (str != null && str.Length != 0)
}

   String trimedStr;
关于字符串的使用//判断是否为null,并且Trim之后长度是否为0
关于字符串的使用
if (str != null && (trimedStr = str.trim()).Length != 0)

关于字符串的使用//判断是否为null,并且trim之后长度是否为0
关于字符串的使用
if (str != null && str.Trim().Length != 0)
}

2、优化长字符串处理
 String一个不可变得类型,每次修改,都返回新的实例。在C#中使用StringBuilder,在Java中使用StringBuffer。
 例如:

关于字符串的使用StringBuilder strBuilder = new StringBuilder();
关于字符串的使用strBuilder.Append(
"aaa");
关于字符串的使用strBuilder.Append(
"bbb");
关于字符串的使用String str 
= strBuilder.ToString();


3、重载ToString方法
 当你一个大对象,包括很对子对象,需要每个子ToString然后相加,产生一个大字符串,此时你需要重载ToString()方法,但是这样的效率比较低。一种可替代的方式为,你提供一个额外的Output方法。例如:

关于字符串的使用public void Output(StringBuilder strBuilder)
}


总结
 其实这些都是很简单的技巧,理应该每个人都掌握,但是以前参加代码评审时,发现很多人还是犯错了,有个项目某个人使用了一种错误的方式,然后在整个项目组内推广,结果是整个项目组都使用错误了。

每次代码评审都会发现很多可笑的事情 :-)

相关文章:

  • 2022-01-24
  • 2021-07-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
  • 2021-11-18
  • 2022-01-12
猜你喜欢
  • 2021-12-29
  • 2022-12-23
  • 2021-06-07
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案