当前位置: 首页 > news >正文

网站设计报价是多少钱怎么推广自己的店铺

网站设计报价是多少钱,怎么推广自己的店铺,漳州正规网站建设,纪检监察信息网站建设前言 总所周知,java对象的比较有 三种方式 最简单的是可以调用equals(). 因为这个方法定义在Object类中,而我们的类都继承了Object类.所以我们自己定义的类都可以使用这个方法. 除此以外还有两个比较接口,可以通过实现他们的某些方法比较我们的对象 他们是 Com…

前言

总所周知,java对象的比较有 三种方式 

最简单的是可以调用equals().

因为这个方法定义在Object类中,而我们的类都继承了Object类.所以我们自己定义的类都可以使用这个方法.

除此以外还有两个比较接口,可以通过实现他们的某些方法比较我们的对象

他们是 ComparableComparator!

Comparable 接口

  • 方法: int compareTo(T o)
  • 用途: 定义对象的自然排序。
  • 实现: 当一个类实现 Comparable 接口时,它必须重写 compareTo() 方法。这个方法用于比较当前对象与指定对象的顺序。

光这么说可能有点抽象,我们直接看代码

class Person implements Comparable<Person> {public String name;public int age;public Person(String name, int age) {this.name = name;this.age = age;}public int getAge() {return age;}    @Overridepublic int compareTo(Person other) {return Integer.compare(this.age, other.age); // 按年龄升序排序}@Overridepublic String toString() {return name + " (" + age + ")";}
}
 // 使用示例List<Person> people = new ArrayList<>();people.add(new Person("Alice", 30));people.add(new Person("Bob", 25));people.add(new Person("Charlie", 35));Collections.sort(people);System.out.println(people); // 输出: [Bob (25), Alice (30), Charlie (35)]

 通过这个代码我们可以看到, 我首先创建了一个Person类,接入了 Comparable 接口

又重写了compareTo 这个方法

这里有一个问题我想提一嘴,为什么用的是包装类Integer 去比较,而不是int

答:

  • Integer 是一个对象: Integer 类提供了比较的方法,比如 compareTo() 和静态方法 Integer.compare(), 这些方法可以直接用于比较两个 Integer 对象。

  • int 是基本类型: 基本数据类型没有方法,因此不能直接调用比较函数。虽然你可以使用运算符(如 ><)来比较 int 值,但在需要使用排序或集合等高级操作时,必须依赖于对象的方法。

我们可以看看Integer的 代码

public final class Integer extends Number implements Comparable<Integer>

   我们可以得出结论:

Integer 类实现了 Comparable 接口,允许你比较两个 Integer 对象。这使得 Integer 可以使用 compareTo() 方法进行自然排序。

而我们的int就没有这个待遇了

它的特点

侵入性很强,直接写在类里面了,每次使用都会是这个比较原则

Comparator比较器

如果去使用 这个接口,我们需要一个比较器对象,实现这个接口

class NameComparator implements Comparator<Person>
{@Overridepublic int compare(Person o1, Person o2) {return  o1.name.compareTo(o2.name);}
}

 还是刚刚的类,刚刚的例子

  List<Person> people2 = new ArrayList<>();people2.add(new Person("Alice", 30));people2.add(new Person("Charlie", 35));people2.add(new Person("Bob", 25));Collections.sort( people2, new NameComparator());System.out.println( people2); // 输出: [Alice (30), Bob (25), Charlie (35)]

它的特点 

非侵入性,即不会影响类本身的排序原则。

 关于Collections

我们这里使用了Collections,这是一个工具类,有sort方法

我们看看它的代码

    public static <T extends Comparable<? super T>> void sort(List<T> list) {list.sort(null);}public static <T> void sort(List<T> list, Comparator<? super T> c) {list.sort(c);}

 Collections类中的sort()方法可以接收实现了List接口的任何集合,如ArrayListLinkedList,并支持使用Comparable接口或Comparator比较器对其元素进行排序。这使得我们能够灵活地对不同类型的列表进行排序,便于管理和操作数据。

 完整代码

import  java.util.*;
class Person implements Comparable<Person> {public String name;public int age;public Person(String name, int age) {this.name = name;this.age = age;}public int getAge() {return age;}    @Overridepublic int compareTo(Person other) {return Integer.compare(this.age, other.age); // 按年龄升序排序}@Overridepublic String toString() {return name + " (" + age + ")";}
}
class NameComparator implements Comparator<Person>
{@Overridepublic int compare(Person o1, Person o2) {return  o1.name.compareTo(o2.name);}
}
public class Com
{public static void main(String[] args){// 使用示例List<Person> people = new ArrayList<>();people.add(new Person("Alice", 30));people.add(new Person("Bob", 25));people.add(new Person("Charlie", 35));Collections.sort(people);System.out.println(people); // 输出: [Bob (25), Alice (30), Charlie (35)]List<Person> people2 = new ArrayList<>();people2.add(new Person("Alice", 30));people2.add(new Person("Charlie", 35));people2.add(new Person("Bob", 25));Collections.sort( people2, new NameComparator());System.out.println( people2); // 输出: [Alice (30), Bob (25), Charlie (35)]}
}

结尾

本文算是笔者的第二篇备忘录吧,学习路上对于细节知识笔者总是喜欢刨根问底,为了不浪费幸苦得出的知识,笔者写下这篇博客供大家伙也参考参考

http://www.mmbaike.com/news/80324.html

相关文章:

  • 网站建设用素材沈阳百度seo关键词排名优化软件
  • 企业门户网站开发要多少钱引流推广多少钱一个
  • 单页面网站怎么做网络推广平台网站推广
  • 做网站去哪里刚刚中国出啥大事了
  • 杭州建设局网站官网怎么提高seo关键词排名
  • 做灯箱到哪个网站找业务百度网盘官方网站
  • 自己搭建服务器做网站要多久上海热点新闻
  • 吉林省示范校建设专题网站广州seo和网络推广
  • 洛阳网络公司seo实战技巧100例
  • 莱芜博客网seoyoon
  • 做网站被骗3000站长查询工具
  • 长春市招标网常用的seo工具
  • 中国做趋势的网站seo网课培训
  • 网页标准化对网站开发维护所有者的好处在线注册免费域名
  • 做同城网站网址导航下载到桌面
  • 外汇110网站上做的这些曝光百度上做广告怎么收费
  • 手机网站建设的公司排名樱桃电视剧西瓜视频在线观看
  • 陕西住房和城乡建设网站关键词优化如何
  • 青岛app开发公司排行榜广州seo推广
  • 商城网站设计定制销售平台有哪些
  • 1688货源网官方网站代刷网站推广免费
  • node.js可以做网站2023重大新闻事件10条
  • 河北省住房和城乡建设厅信用网站新闻源
  • 你了解网站建设吗 软文案例网络营销策略的概念
  • 企业网站建设计入什么科目百度推广400客服电话
  • 营销网站与企业网站的区别百度推广助手电脑版
  • 百度快照和做网站有关系吗百度账号注册平台
  • 广州品牌网站建设公司广州seo和网络推广
  • 免费素材网站pexels百度大全
  • 深圳网站建设公司联华网络营销的成功案例分析