是飞白不是非白 2015-11-18 02:11 采纳率: 50%
浏览 1323
已采纳

java 新人求解 ,各位大牛们帮我说说原理啊

类名 NewsItem.java
public class NewsItem implements java.lang.Comparable{
..........
//时间降序 +点击量升序+标题降序
@Override
public int compareTo(NewsItem o) {
int result =0;
//比较 时间
result =-this.pubTime.compareTo(o.pubTime); //降序
if(0==result){ //时间相同
//点击量
result =this.hits-o.hits; //升序
if(0==result){ //点击量相同
//标题
result=-this.title.compareTo(o.title);//降序
}
}

    return result;
}
}


3.类NewsItemApp

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import com.bjsxt.sort.innerType.Utils;

/**

  • @author Administrator
    *
    */
    public class NewsItemApp {

    /**

    • @param args */ public static void main(String[] args) { List news=new ArrayList(); news.add(new NewsItem("美国后怕了,逃跑了悲剧了",50,new Date(System.currentTimeMillis()-1000*60*60))); news.add(new NewsItem("中国登上钓鱼岛了,全国欢呼了",100,new Date())); news.add(new NewsItem("小日本终于听话了,泪流满面笑了",60,new Date(System.currentTimeMillis()-1000*60*60))); Utils.sort(news); System.out.println("排序后"+news);

    }

}

大牛们给我解释下原理吧,,NewsItemApp类是怎么调用NewsItem的排序啊,我又没看到调用compareTo方法啊
  • 写回答

1条回答 默认 最新

  • 伊豚 2015-11-18 02:23
    关注

    Sort函数里面有调用的,你实现了Compareable接口,将list传入sort函数时排序里面会调用比较函数。不小心按了同问图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程