Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中如何将字符串值与Arraylist值匹配?_Java - Fatal编程技术网

在Java中如何将字符串值与Arraylist值匹配?

在Java中如何将字符串值与Arraylist值匹配?,java,Java,在Java中如何将字符串值与ArrayList值匹配 我有一个ArrayList和字符串值。我获取了两个值。但当我被应用时,条件值不匹配 送货区类别: 当你做这样的检查时- uservalue.equals(ff.get(c)) 其中uservalue是String类型,ff.getc返回Address对象类型。它们并不相等,因为它们是不同类型的对象。而且,java不会自动调用toString 如果uservalue也包含相同的名称,则必须手动调用ff.getc对象的name成员变量,以便进行

在Java中如何将字符串值与ArrayList值匹配

我有一个ArrayList和字符串值。我获取了两个值。但当我被应用时,条件值不匹配

送货区类别:


当你做这样的检查时-

uservalue.equals(ff.get(c))
其中uservalue是String类型,ff.getc返回Address对象类型。它们并不相等,因为它们是不同类型的对象。而且,java不会自动调用toString

如果uservalue也包含相同的名称,则必须手动调用ff.getc对象的name成员变量,以便进行比较

此外,仅当您将函数作为参数传递给另一个函数或将其分配给变量(该变量的类型为字符串)时,才会自动调用对象的toString函数


对于.equals函数,它接受的参数类型为-Object,因此不会自动调用toString

我不知道您在uservalue中持有什么

根据uservalue的值: 您应该更改以下行: ifuservalue.equalsff.getc 到


你能告诉我们你有问题的代码吗?请理解,你不能直接比较java中的不同类型,你需要找到一种方法将它们转换成一种普通类型这个编码字符串uservalue=locality.getText.toString;Log.ill,uservalue;对于int c=0;请将其添加到问题中,并清楚地解释每个变量的类型,从您的问题代码和您在注释中输入的代码,其他人无法识别变量的类型,要找出您遇到的问题,请检查我的编辑问题SIR为什么要检查toString地址方法的结果是否相等?如果您更改toString方法,uservalue.equalsff.getc.name仍然有效。是的,在他的特定情况下确实有效,但一般来说,当您比较两种不同类型的对象时,一种是string,另一种是其他一些自定义对象,虽然不应出现这种情况,但我认为最好使用toString方法进行比较,不要使用成员变量。@sunder sharma uservalue包含什么,它是否应该包含与Address.toString相同的值?@AnandSKumar:他想检查地址的名称是否等于字符串值。在本例中,您不应将字符串与对象进行比较。@AnandSKumar thnku先生,谢谢您的建议,但您的答案是错误的。通过您的答案,我解决了我的问题
String uservalue = locality.getText().toString();
Log.i("ll", uservalue);

for (int c = 0; c < ff.size(); c++) {
    Log.i("ll", "" + ff.get(c));
    if(uservalue.equals(ff.get(c))) {
        System.out.println("Sucess");
    }
    else{
        System.out.println("Sucessq");
    }
}
ff = new ArrayList<DeliveryArea.Address>();
ff = deliveryarea.address;
Log.i("sunder123ererrer",""+ff);
uservalue.equals(ff.get(c))
if(uservalue.equals(ff.get(c).name))
if(uservalue.equals(ff.get(c).name))
if(uservalue.equals(ff.get(c).toString()))