有的时候在面试时会被问到Comparable<T>和Comparator<T>的区别(或者Java中两种排序功能的实现区别). 1) 在使用普通数组的时候,如果想对数据进行排序,可以调用java.util.Arrays.sort().但要通过该方式对数组进行排序,还需要数组中的对象实现Comparable<T>接口. package org.lyk.entities; public class Book implements Comparable<Book>…
Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String 实现了Serializable接口:表示字符串是支持序列化的. 实现了Comparable接口:表示String可以比较大小 3.String内部定义了final char[] value用于存储字符串数据 4.通过字面量的方式(区别于new给一个字符串赋值,此时的字符串值声明在字符串常量池中). 5.字符…
本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. String对象的字符内容是存储在一个字节数组byte[]中.JDK1.8中存储的是char[]注意区别. String实现了Serializable接口,支持序列化 实现了Comparable接口,表示可以比较大小 通过字面量的方式(区别于new)给一个String赋值,此时的字符串值在字符串常量池中(和方…
Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if(obj != null) 这样的判断.幸好在JDK1.8中,java为我们提供了 一个Optional类,Optional类能让我们省掉繁琐的非空的判断.下面先说一下Optional中为我们提供的方法. 反面示例: interface IMessage{ void echo(String msg);…
Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@"+哈希码(一般用于覆盖). equals()方法:返回"=="操作的布尔值(一般用于覆盖). finalize()方法:用于对象的销毁(不受人为控制,由JVM调用,遵从垃圾回收机制). clone()方法:用于对象之间的拷贝(深拷贝). getClass()方法:返回对象的字节码文件对…
Java常用类之要点总结…
Java常用类:包装类,String,日期类,Math,File,枚举类…
Comparable和Comparator接口都是为了对类进行比较,众所周知,诸如Integer,double等基本数据类型,java可以对他们进行比较,而对于类的比较,需要人工定义比较用到的字段比较逻辑.可以把Comparable理解为内部比较器,而Comparator是外部比较器,基本的写法如下: class Apple implements Comparable<Apple>{ int id; double price; public Apple(int id, double price…
呕心沥血画出此图,希望在使用Java类.接口时捋顺其关系,从而更好的组织程序逻辑---请看图 Object分出来的类都是其子类 Iterable接口分出的也是子接口 从继承关系分析,其父类实现的接口子类都被继承,子类扩展的接口,有实现同一接口的被框起了, 集合类被框起来并用实线带箭头链接其来一并实现了Serializable和Clonable接口,可见一斑 后续会继续添加常用类与接口…
一.Java根类Object类1.toString()方法 1)以文本对象返回,故toString()的定义为public String toString() {} 2)默认的字符串输出是:包.类名@对象的十六进制哈希码.[每一个java对象都有一个hash Code用于标识对象] 3)可以重写.比如返回对象的某些属性等. return "这个对象的名字是["+name+"],年龄是["+age+"]."; 4)System.out.printl…