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;
    }

}