用Java语言,如何判断一个字符串是否在一个字符串数组中?

String[] str={"数学","语文","英语","物理","化学","生物"};
System.out.print("地理");
如何判断“地理”这个字符串是否在 str[] 这个数组中?

完整代码:


public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String[] strs={"数学","语文","英语","物理","化学","生物"};

        for(String str:strs)
        {
            if(str.indexOf("地理")>0){
                System.out.println("找到了");
                break;
            }
        }
        System.out.println("没有找到");
    }
}

可以遍历来获取。
lg:

 for(String s : str) {
     if(s.equals("地理") {
        ////获取s或者输出s,做你想做的事儿
     }
 }

public class test {
public static void main(String[] args) {
String[] str={"数学","语文","英语","物理","化学","生物"};
for(int i=0;i<str.length;i++){
if(str[i].equals("地理")){
System.out.println("存在");
}else{
System.out.println("不存在");
}
}
}
}

for(int i = 0;i<str.length();i++){
if("地理".equals(str[i])){
System.out.print("存在");
}
}

for(int i = 0;i<str.length();i++){
            if(str[i].equals("地理")){
                        System.out.println("存在"); 
            }
}
“地理”在equals中比较好。
 String[] str={"数学","语文","英语","物理","化学","生物"};

        List<String> asList = Arrays.asList(str);
        asList.contains("地理"); //false
        asList.contains("物理"); //true

可以使用for-each

不是一定要去循环的,用下面的代码块也可以的
String[] strs={"数学","语文","英语","物理","化学","生物"};
List lists = Arrays.asList(strs);
if (lists.contains("数学")){
System.out.println("===================>> 选中的数学");
}