String Utils - Java

vve*_*lva 1 java string

我创建了一个StringUtil类,用于在整个应用程序中进行一些字符串验证.StringUtil的代码如下,

public class StringUtil {
    public static synchronized boolean isValidString(String string) {
        return string!= null && string.trim().length() > 0;
    }

}
Run Code Online (Sandbox Code Playgroud)

在此类中,该方法检查字符串是否是有效字符串.此方法是线程安全的.在企业应用程序中,可能有多个线程访问此方法.如果一个线程正在访问此方法,那么所有其他线程都必须等待轮到它.反过来,此方法将非常频繁地用于检查字符串是否为空值.那么哪个是最好的选择

  1. 使这个单身和线程安全
  2. 将此作为实例方法
  3. 是否有任何其他方法来组织具有此类型的对象的池,并且每个线程将获取一个并且一旦完成就将对象释放到池中.因此线程安全性不是问题,并且还没有创建对象.
  4. 是否有相同的开源库.

Kep*_*pil 15

由于此处没有任何状态(您只使用方法参数string),因此该方法本质上是线程安全的.因此,无需使用synchronized关键字.

如果在整个项目中使用该方法,则只需static按照您已经完成的方式声明它是最佳选择.


Aug*_*sto 7

通常这样的辅助方法是public static,而不是synchronized,因为类不保持状态.由于它既不保持状态,也不需要池.

我认为这是一个很好的例子,apache公共StringUtils类.

我觉得你正试图用中子加农炮打开核桃,简单就是王道:)