最简洁的做法“不包含在内”?

时间:2012-01-31 08:42:55

标签: java haskell

来自Haskell,我习惯于拥有像

这样的简洁操作符
not ("x" `elem` ["a","b","c"])

在普通的旧Java中,最简洁的方法是什么,例如对于if子句?

解释?阵列?辅助性功能?感觉太丑陋而且过于冗长......

7 个答案:

答案 0 :(得分:4)

Collection#contains

 if(!collection.contains(object))

答案 1 :(得分:4)

检查java集合中的contains方法:

例如:

ArrayList<String> arrList = new ArrayList<String>();
arrList.add("One");
arrList.add("Two");
arrList.add("Three");

if( ! arrList.contains("Four"))
{
    System.out.println("item not contained");
}

答案 2 :(得分:2)

查看lambdaj项目。它将为您提供一些您错过的功能工具。

答案 3 :(得分:1)

使用Guava

!ImmutableList.of("a", "b", "c").contains("x")

答案 4 :(得分:1)

使用Frege

not ("x" `elem` ["a","b","c"])

Java代码将由编译器生成。

答案 5 :(得分:0)

您可以使用任何集合执行此操作:!collection.contains(x)Set,特别是HashSet,可能是此类操作中最快的。

答案 6 :(得分:0)

如果您想要查找字符,可以使用

if ("abc".indexOf(ch) < 0)