在Java中模拟if-in语句

时间:2016-07-04 10:28:15

标签: java python if-statement

我已经用Python编写了几个月的代码,现在我因为工作原因而不得不切换到Java。我的问题是,有一种方法来模拟这种陈述

if var_name in list_name:
    # do something

没有定义额外的isIn() - 类似布尔函数来扫描list_name以查找var_name

4 个答案:

答案 0 :(得分:12)

您正在寻找继承自List#containsCollection#contains(因此您也可以将其与Set个对象一起使用)

if (listName.contains(varName)) {
    // doSomething
}

List#contains

  

如果此列表包含指定的元素,则返回true。更多   正式地,当且仅当此列表包含至少一个时才返回true   元素e使得(o == null?e == null: o.equals(e))。

如您所见,List#contains使用equals返回true或false。强烈建议您在创建的课程中使用@Override此方法以及hashcode

答案 1 :(得分:3)

您可以使用List.contains(object),但要确保您用于创建列表的类正在实现等于正确的等于检查。否则,只有当对象本身相同时,才能获得两个相等的对象。

答案 2 :(得分:2)

如果此列表包含指定的元素,则java.util.ArrayList.contains(Object)方法返回true。

List list=new ArrayList();
list.add(1);
list.add(2); 
if(list.contains(2)){
//do something 
}

答案 3 :(得分:1)

列表数据结构的包含方法就是你所追求的。您可以通过以下两种方式之一使用此方法:

,

double[][] termom = File.ReadLines(fD.FileName)
  .Select(l => l.Split(';', ',') // ',' is a deriver as well as ';'
    .Select(n => double.Parse(n, CultureInfo.InvariantCulture))
    .ToArray())
  .ToArray();
像在Yasin的回答中一样。

有关详细信息,请参阅 tutorial pointofficial documentation