Java Object类 instanceof关键字 练习:判断是否为同一人 集合按照人的年龄排序,如果年龄相同按名字的字母顺序升序 Comparator比较器
package com.swift; public class Same_Person_Test { public static void main(String[] args) {
/*
* Object判断是否是同一人
*/
Person per1=new Person("zhangsan",30);
Person per2=new Person("lisi",27);
Person per3=new Person("lisi",27); System.out.println(per3.equals(per2));
System.out.println(per1.equals(per2));
System.out.println(per2.equals(per2));
} } class Person{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
} public boolean equals(Object obj) {
if(this==obj) {
return true;
}
if(obj instanceof Person) {
Person per=(Person) obj;
return this.getName().equals(per.getName())&&this.getAge()==per.getAge();
}
return false; } }
对人进行按年龄排序,升序,如果年龄相同按名字字母拼音升序
package com.swift; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.ListIterator; public class Same_Person_Test { public static void main(String[] args) {
/*
* Object判断是否是同一人 集合按照人的年龄排序,如果年龄相同按名字的字母顺序升序
*/
Person[] per =new Person[5];
per[1]=new Person("zhangsan",30);
per[2]=new Person("lisi",27);
per[3]=new Person("wangwu",19);
per[4]=new Person("wangliu",19);
per[0]=new Person("tianqi",37);
List<Person> list=new ArrayList<Person>();
for(Person person:per) {
list.add(person);
} System.out.println(per[3].equals(per[2]));
System.out.println(per[1].equals(per[2]));
System.out.println(per[2].equals(per[2])); Collections.sort(list, new Comparator<Person>() { @Override
public int compare(Person arg0, Person arg1) {
int num=arg0.getAge()-arg1.getAge();
return num==0?arg0.getName().compareTo(arg1.getName()):num;
}
}); ListIterator it=list.listIterator();
while(it.hasNext()) {
Person p=(Person) it.next();
System.out.println(p.toString());
}
} } class Person{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
} public boolean equals(Object obj) {
if(this==obj) {
return true;
}
if(obj instanceof Person) {
Person per=(Person) obj;
return this.getName().equals(per.getName())&&this.getAge()==per.getAge();
}
return false;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
} }
Java Object类 instanceof关键字 练习:判断是否为同一人 集合按照人的年龄排序,如果年龄相同按名字的字母顺序升序 Comparator比较器的更多相关文章
- instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例。
http://lavasoft.blog.51cto.com/62575/79864/ 深入Java关键字instanceof 2008-06-02 07:50:43 标签:Java 关键字 休 ...
- [zz]Java中的instanceof关键字
1.What is the 'instanceof' operator used for? stackoverflow的一个回答:http://stackoverflow.com/questions/ ...
- Java基础系列--instanceof关键字
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8492158.html instanceof关键字是在Java类中实现equals方法最常使 ...
- Java Object类 和 String类 常见问答 6k字+总结
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- Java中的instanceof关键字
instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boo ...
- Java Object类及其equals方法
基本概念: Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: Object类是所有Java类的祖先.每个类都使用 Object 作为超 ...
- java Object 类
Object o=new Object(); 其中有两个受保护的方法: 1.protected void finalize() 2.protected ...
- AJPFX关于Java Object类常用方法小总结
java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入. Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类. Object类 ...
- Java Object类中的equals方法
Object类中的equals方法用于检测一个对象是否等于另外一个对象.在Object类中,这个方法将判断两个对象是否具有相同的引用.如果两个对象具有相同的引用,它们一定是相等的.从这点上看,将其作为 ...
随机推荐
- TemplateText TT 在Runtime发生 Could not load type ...... because the format is invalid
Severity Code Description Project File Line Suppression State Error Running transformation: System.T ...
- HDU5340 Three Palindromes
Three Palindromes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- python爬虫——web前端基础(2)
图像标记------->>>> <img>图像标记,用来在网页中显示图像.使用方法为:<img src="路径/文件名.图片格式" wi ...
- IBM Websphere MQ常用命令及常见错误
MQSC: MQ Script Command (不区分大小写) 注明: 下面命令行中的队列管理器名字,队列名字分别用QmgrName, QName替代. 下面标蓝色的,都需要根据实际配置更改! 打 ...
- C# 文件异步操作
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- ES6新特性使用小结(五)
十二.class 与 extends ①.类的基本定义和生成实例 { class Parent{ constructor(name='Lain'){ //定义构造函数 this.name = name ...
- python 1 学习廖雪峰博客
输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, world') p ...
- JS正则改变字符之间文字
var reg = /([[^[]*])/g; html = html.replace(reg, "<span class=\"bold\">$1</s ...
- js动态更换img的src问题
在本地开发测试过程中,通过js动态更换img的src没有问题,图片正常切换,但是放在服务器上后测试发现,图片不显示,解决方法为:在对应onclick事件执行切换图片的js函数后加上一个return f ...
- IDEA2017 配置Maven
配置本地仓库位置 配置一下Maven的本地仓库路径,首先找到解压Maven的目录,找到conf -> settings.xml这个配置文件打开. 打开settings.xml 配置文件,选一个本 ...