String.equals与==

此代码将字符串分隔为标记并将它们存储在字符串数组中,然后将变量与第一个主页进行比较...为什么它不起作用?


public static void main(String...aArguments) throws IOException {


    String usuario = "Jorman";

    String password = "14988611";


    String strDatos = "Jorman 14988611";

    StringTokenizer tokens = new StringTokenizer(strDatos, " ");

    int nDatos = tokens.countTokens();

    String[] datos = new String[nDatos];

    int i = 0;


    while (tokens.hasMoreTokens()) {

        String str = tokens.nextToken();

        datos[i] = str;

        i++;

    }


    //System.out.println (usuario);


    if ((datos[0] == usuario)) {

        System.out.println("WORKING");

    }

}

String.equals与== 

哈士奇WWW
浏览 676回答 4
4回答

翻过高山走不出你

使用该string.equals(Object other)函数比较字符串,而不是==运算符。该函数检查字符串的实际内容,==操作员检查对象的引用是否相等。请注意,字符串常量通常是“实例化”,这样可以实际比较具有相同值的两个常量==,但最好不要依赖它。if (usuario.equals(datos[0])) {     ...}注意:比较是在'usuario'上进行的,因为在代码中保证非null,尽管你仍然应该检查你是否确实在datos数组中得到了一些标记,否则你会得到一个数组超出范围的异常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java