Java将字符串转换为整数进行比较
我正在为特定类的可比较接口编写一个Java将字符串转换为整数进行比较,java,string,methods,interface,integer,Java,String,Methods,Interface,Integer,我正在为特定类的可比较接口编写一个compareTo方法。我需要取两个不同的字符串,比较它们,看看其中一个的值是否大于另一个。我通常会使用.compareTo(),但在这种情况下,它会给我一个错误,无法工作。 这就是我所拥有的: public int compareTo(Object o) { if (name < ((AccountOwnerComparable) o).name) return -1; else if (name > ((Accou
compareTo
方法。我需要取两个不同的字符串,比较它们,看看其中一个的值是否大于另一个。我通常会使用.compareTo()
,但在这种情况下,它会给我一个错误,无法工作。
这就是我所拥有的:
public int compareTo(Object o) {
if (name < ((AccountOwnerComparable) o).name)
return -1;
else if (name > ((AccountOwnerComparable) o).name)
return 1;
else
return 0;
}
public int compareTo(对象o){
如果(名称<((会计所有者可比较)o).名称)
返回-1;
else if(name>((AccountOwnerCompatible)o).name)
返回1;
其他的
返回0;
}
我知道我不能使用<或>
,但它只是为了显示场景是什么。使用Integer.parseInt()
方法。通过这种方式,您可以使用
或,您只需执行以下操作:
name.compareTo(String_to_be_compare);
公共整数比较(对象o)
将此字符串与另一个对象进行比较。如果对象是字符串,
此函数的行为类似于compareTo(字符串)
请注意:
返回:
如果参数是一个字符串,则值为0,在词典上等于
这根绳子;如果参数是字符串,则小于0的值
按字典顺序大于该字符串;值大于0
如果参数是一个字符串,则该字符串的字典顺序小于该字符串。()
关于你的情况:
public int compareTo(Object o)
{
AccountOwnerComparable obj = (AccountOwnerComparable) o;
return obj.name.compareTo(this.name);
}
tw:实现可比较的接口,指定要比较的对象(通常是相同的类型),因为您没有指定接口与奇数对象相比的任何对象。该接口是通用的。您的类声明可能如下所示:
class AccountOwnerComparable implements Comparable<AccountOwnerComparable> {...
你可能在施法时错过了支架或其他东西。试试下面的代码
public int compareTo(Object o) {
if (name.compareTo(((AccountOwnerComparable) o).name) > 0) {
System.out.println("Greater");
return -1;
} else if (name.compareTo(((AccountOwnerComparable) o).name) < 0) {
System.out.println("Lesser");
return 1;
} else {
System.out.println("Equal");
return 0;
}
}
public int compareTo(对象o){
如果(name.compareTo(((AccountOwnerComparable)o.name)大于0){
系统输出打印项次(“更大”);
返回-1;
}else if(name.compareTo(((AccountOwnerComparable)o.name)<0){
系统输出打印项次(“较小”);
返回1;
}否则{
系统输出打印项次(“相等”);
返回0;
}
}
它们不是整数。两者都是仅包含字母的字符串。compareTo()
方法在比较两个不同的字符串时返回一个整数。这就是我需要的好吧,标题是误导性的。
public int compareTo(Object o) {
if (name.compareTo(((AccountOwnerComparable) o).name) > 0) {
System.out.println("Greater");
return -1;
} else if (name.compareTo(((AccountOwnerComparable) o).name) < 0) {
System.out.println("Lesser");
return 1;
} else {
System.out.println("Equal");
return 0;
}
}