java - 评估大量 Java 字符串比较条件的风格更优雅的方法是什么?

标签 java string comparison

我为我的应用中的一个功能编写了以下字符串比较操作。

但我讨厌它的外观和它的笨重。

String foo = "abc";

if(!foo.startsWith("ba") && 
    !foo.equals("cab") && 
    !foo.equals("bca") && 
    !foo.equals("bbc") && 
    !foo.equals("ccb") && 
    !foo.equals("cca"))
{
    // do something
}

是否有更优雅、更易于维护的方式来编写这样的内容?

最佳答案

您可以使用正则表达式。

private static final Pattern P = Pattern.compile(
                                 "(ba.*|cab|bca|bbc|ccb|cca)");

String foo = "abc";
if (!P.matcher(foo).matches())

关于java - 评估大量 Java 字符串比较条件的风格更优雅的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234674/

相关文章:

SQL Un-Wizardry : Compare values from one list in another

java - 是否有任何 java 插件可以为 Oracle、MySQL、PostGreSQL 生成 DDL?

java - Hadoop 1.2.1 - 多节点集群 - Wordcount 程序的 Reducer 阶段挂起?

java - R.java 没有 R.id.map 的 map

java - Surface View 被挤压在 View 寻呼机内

javascript - 带分割的字符串格式占位符用于分隔字符串

c++ - 不分配任何 char 内存的 const 字符串构造函数?

java - 如何在 API <= 10 中使用 SearchView?在 XML 文件中

c# - 命令行参数分隔符以及如何在 C# 中检查它

arrays - Powershell:比较数组中的多个值