Java 如何在忽略大小写的情况下比较arraylist和String?
我收到一个错误消息,表示类型Java 如何在忽略大小写的情况下比较arraylist和String?,java,string,arraylist,ignore-case,Java,String,Arraylist,Ignore Case,我收到一个错误消息,表示类型Dog的.equalsIgnoreCase未定义,是否有任何方法可以在数组列表中查找字符串,同时忽略大小写而不使用。equalsIgnoreCase public static int findDog(String toFind, ArrayList<Dog> dogs) { for (int i = 0 ; i < dogs.size() ; i++) { if (dogs.get(i
Dog
的.equalsIgnoreCase
未定义,是否有任何方法可以在数组列表中查找字符串
,同时忽略大小写而不使用。equalsIgnoreCase
public static int findDog(String toFind, ArrayList<Dog> dogs)
{
for (int i = 0 ; i < dogs.size() ; i++)
{
if (dogs.get(i).equalsIgnoreCase(toFind))
{
return i;
}
}
return -1;
}
您无法将狗
与字符串
进行比较,假设狗
具有一些字符串
属性,则可以使用以下方法进行比较:
示例:
if (dogs.get(i).getName().equalsIgnoreCase(toFind)){
return i;
}
您无法将狗
与字符串
进行比较,假设狗
具有一些字符串
属性,则可以使用以下方法进行比较:
示例:
if (dogs.get(i).getName().equalsIgnoreCase(toFind)){
return i;
}
在if循环中的get(i)之后添加.getName()
比如:if(dogs.get(i)…getName().equalsIgnoreCase(toFind))在if循环中的get(i)之后添加.getName()
比如:if(dogs.get(i)…getName().equalsIgnoreCase(toFind))请参见,。equalsIgnoreCase逻辑将与Dog一起工作,但与您所做的不同。这是你需要做的
假设你想说,如果两条狗有相同的名字,那么它们是相同的
然后修改您的Dog类,如下所示:
public class Dog implements Comparable<Dog> {
private String name;
private double age;
private double weight;
public Dog(String name, double age, double weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getAge() {
return age;
}
public void setAge(double age) {
this.age = age;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
@Override
public int compareTo(Dog anotherDogToCompare) {
return this.getName().toLowerCase().compareTo(anotherDogToCompare.getName().toLowerCase());
}
}
请参阅,.equalsIgnoreCase逻辑
将与Dog一起工作,但绝对不会像您那样工作。这是你需要做的
假设你想说,如果两条狗有相同的名字,那么它们是相同的
然后修改您的Dog类,如下所示:
public class Dog implements Comparable<Dog> {
private String name;
private double age;
private double weight;
public Dog(String name, double age, double weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getAge() {
return age;
}
public void setAge(double age) {
this.age = age;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
@Override
public int compareTo(Dog anotherDogToCompare) {
return this.getName().toLowerCase().compareTo(anotherDogToCompare.getName().toLowerCase());
}
}
您应该如何比较狗
和字符串
?在Dog
中是否有您试图比较的字符串变量?也许您想要dogs.get(i).getName()
或dogs.get(i).toString()
与字符串进行比较,我猜它代表名称或其他属性?Dog是公共Dog(字符串名称,双年龄,双重量)的构造函数您应该如何比较狗
和字符串
?在Dog
中是否有您想要比较的字符串变量?也许您想要dogs.get(i).getName()
或dogs.get(i).toString()
与字符串进行比较,我想是代表名称或其他属性?Dog是公共Dog的构造函数(字符串名称,双倍年龄,双倍重量)谢谢。是的,狗有一个字符串属性,很抱歉没有在问题中指定@梅莉,没关系,只是更新了你的描述。你不必道歉:)谢谢你。是的,狗有一个字符串属性,很抱歉没有在问题中指定@梅莉,没关系,只是更新了你的描述。你不必道歉:)