Java 方法类的比较 包问题1; 公共级特许经营实施可比性{ 私有字符串位置; 私人双总计=0; 私人字符串所有者; 公共特许经营权(字符串位置、双倍总计、字符串所有者){ 这个位置=位置; 这个.总计=总计; this.owner=所有者; } 公共字符串getLocation(){ 返回位置; } 公共双getTotal(){ 返回总数; } 公共字符串getOwner(){ 归还所有人; } 公共国际比较(特许经营权){ int stateComarition=this.getLocation().compareTo(that.getLocation()); Double sales=Double.valueOf(this.getTotal()); Double that sales=Double.valueOf(that.getTotal()); int-salesComparition=sales.compareTo(thatSales); 如果(状态比较==0){ 如果(salesComparition>0) 返回-1; else if(salesComparition0) 返回-1; else if(salesComparition
这门课有一个compareTo方法。我想知道你们能否详细解释一下这个方法的作用…基本上我需要你们追踪它并一步一步地解释我。非常感谢Java 方法类的比较 包问题1; 公共级特许经营实施可比性{ 私有字符串位置; 私人双总计=0; 私人字符串所有者; 公共特许经营权(字符串位置、双倍总计、字符串所有者){ 这个位置=位置; 这个.总计=总计; this.owner=所有者; } 公共字符串getLocation(){ 返回位置; } 公共双getTotal(){ 返回总数; } 公共字符串getOwner(){ 归还所有人; } 公共国际比较(特许经营权){ int stateComarition=this.getLocation().compareTo(that.getLocation()); Double sales=Double.valueOf(this.getTotal()); Double that sales=Double.valueOf(that.getTotal()); int-salesComparition=sales.compareTo(thatSales); 如果(状态比较==0){ 如果(salesComparition>0) 返回-1; else if(salesComparition0) 返回-1; else if(salesComparition,java,class,methods,arraylist,compareto,Java,Class,Methods,Arraylist,Compareto,这门课有一个compareTo方法。我想知道你们能否详细解释一下这个方法的作用…基本上我需要你们追踪它并一步一步地解释我。非常感谢 package prob1; public class Franchise implements Comparable<Franchise> { private String location; private double totals = 0; private String owner; public Franch
package prob1;
public class Franchise implements Comparable<Franchise> {
private String location;
private double totals = 0;
private String owner;
public Franchise(String location,double totals,String owner){
this.location = location;
this.totals = totals;
this.owner = owner;
}
public String getLocation(){
return location;
}
public double getTotal(){
return totals;
}
public String getOwner(){
return owner;
}
public int compareTo(Franchise that) {
int stateComparition = this.getLocation().compareTo(that.getLocation());
Double sales = Double.valueOf(this.getTotal());
Double thatSales = Double.valueOf(that.getTotal());
int salesComparition = sales.compareTo(thatSales);
if(stateComparition == 0){
if(salesComparition > 0)
return -1;
else if(salesComparition < 0)
return 1;
else
return 0;
}
return stateComparition;
}
public String toString(){
String result = "";
result = "Owner = " + getOwner() + " ,State = "+ getLocation() + " ,Sales = " + getTotal() + "\n";
return result;
}
}
包问题1;
导入java.util.ArrayList;
导入java.util.Collections;
公共类压裂测试器{
/**
*@param args
*/
公共静态void main(字符串[]args){
ArrayList特许权=新的ArrayList();
特许经营权franchaise1=新特许经营权(“CA”,3300,“Corey”);
特许经营权franchaise2=新特许经营权(“GA”,1000,“帕托”);
特许经营权franchaise4=新特许经营权(“NC”,3300,“Travis”);
特许经营权franchaise3=新特许经营权(“NC”,3500,“罗伊”);
特许经营权。添加(franchaise1);
特许经营权。添加(franchaise2);
特许经营权。添加(franchaise4);
特许经营权。添加(franchaise3);
收集、分类(特许经营);
适用于(特许经营一:特许经营){
系统输出打印LN(i);
}
}
}
这是我的测试仪虽然您可以从中获得此信息,但此答案将有助于理解compareTo()方法的概念,供其他在此访问的用户使用 当您实现
Comparable
接口时,您的compareTo()
方法用于比较不同的对象
package prob1;
import java.util.ArrayList;
import java.util.Collections;
public class FracnahiseTester {
/**
* @param args
*/
public static void main(String[] args) {
ArrayList<Franchise> franchises = new ArrayList<Franchise>();
Franchise franchaise1 = new Franchise("CA",3300,"Corey");
Franchise franchaise2 = new Franchise("GA",1000,"Pato");
Franchise franchaise4 = new Franchise("NC",3300,"Travis");
Franchise franchaise3 = new Franchise("NC",3500,"Roy");
franchises.add(franchaise1);
franchises.add(franchaise2);
franchises.add(franchaise4);
franchises.add(franchaise3);
Collections.sort(franchises);
for(Franchise i : franchises){
System.out.println(i);
}
}
}
public int compareTo(特许经营权){
int stateComarition=this.getLocation().compareTo(that.getLocation());
Double sales=Double.valueOf(this.getTotal());
Double that sales=Double.valueOf(that.getTotal());
int-salesComparition=sales.compareTo(thatSales);
如果(状态比较==0){
如果(salesComparition>0)
返回-1;
else if(salesComparition<0)
返回1;
其他的
返回0;
}
返回状态比较;
}
用于将作为参数传递的对象与调用此方法的对象进行比较李>public int compareTo()
- 如果
对象小于这个
对象,则返回一个负整数,在您的例子中是它的那个
。这意味着-1
对象以排序方式排在这个
之前那个
- 如果
等于这个
对象,那么那个
应该相等,这意味着对象相等0
- 如果
大于此
对象大于正整数,在您的情况下,它是,则返回的
。这意味着当对1
类型的对象进行排序时,特许经营
位于此
之后李>
public int compareTo(Franchise that) {
int stateComparition = this.getLocation().compareTo(that.getLocation());
Double sales = Double.valueOf(this.getTotal());
Double thatSales = Double.valueOf(that.getTotal());
int salesComparition = sales.compareTo(thatSales);
if(stateComparition == 0){
if(salesComparition > 0)
return -1;
else if(salesComparition < 0)
return 1;
else
return 0;
}
return stateComparition;
}