常用类
1 object类
类的声明:public class object
类所属的包:java.lang
- object是所有类的根类
- Java中的所有类,如果没有特殊说明,则默认继承object
object的派生类对象都可以调用这些方法,派生类一般会对根据需要重写方法。
1.1 object.equals方法
方法的作用是判断两个非空引用指向的对象是不是相等。
equals方法的原则:
- 自反性
- 对称性
- 传递性
- 一致性
public class equals_v1 {
public static void main(String[] args) {
rect r1 = new rect(1,2);
rect r2 = new rect(3,4);
System.out.println(r1);
System.out.println(r2);
System.out.println(r1==r2);
System.out.println(r1.equals(r2));
}
}
class rect{
public int width;
public int height;
rect(int w, int h){
width = w;
height = h;
}
public int area(){
return width*height;
}
}
没有重写equals方法的时候,比较的是两个对象的内存地址
public class equals_v1 {
public static void main(String[] args) {
rect r1 = new rect(1,2);
rect r2 = new rect(3,4);
rect r3 = new rect(1,2);
System.out.println(r1);
System.out.println(r2);
System.out.println(r1==r2);
System.out.println(r1.equals(r2));
System.out.println(r1.equals(r3));
}
}
class rect{
public int width;
public int height;
rect(int w, int h){
width = w;
height = h;
}
public int area(){
return width*height;
}
@Override
public boolean equals(Object obj) {
if(obj == null)return false;
if(obj instanceof rect){
rect r = (rect)obj;
return r.width==width && r.height==height;
}
return false;
}
}
重写equals方法,比较成员变量的值
1.2 object.tostring方法
作用是返回对象的字符串形式
默认实现的返回字符串包括对象类型和哈希码
- 实际使用会重写此方法
- 当一个对象和字符串连接会默认调用子方法
- print对象也会调用此方法
public class tostring_v1 {
public static void main(String[] args) {
rect_tos r1 = new rect_tos();
System.out.println(r1);
}
}
class rect_tos extends rect{
rect_tos(){
super(1,1);
}
@Override
public String toString() {
return "长宽分别是"+width+" "+height;
}
}
2 String类
代表一个不可变的字符序列。string类的引用指向一个字符串常量
2.1 String的构造函数
String(Char [] value)
String(Char [] value, int offset, int count)
String(String original)
public class string_v1 {
public static void main(String[] args) {
char [] carr = {'a','b','c','d'};
String s1 = new String(carr);
System.out.println(s1);
String s2 = new String(carr, 1,2);
System.out.println(s2);
String s3 = new String(s2);
System.out.println(s3);
}
}
2.2 String类的常用方法
public class string_v2 {
public static void main(String[] args) {
String s1 = "helloworld";
System.out.println(s1.charAt(2));
System.out.println(s1.compareTo("yes"));
System.out.println(s1.endsWith("ld"));
System.out.println(s1.indexOf('l'));
String s2 = " hell ";
System.out.println(s2);
System.out.println(s2.trim());
}
}
public class sring_v3 {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "hello";
String s3 = new String("hello");
String s4 = s1 + s2;
if(s1 == s2){
System.out.println("s1 s2指向同一个对象");
}
if(s1 == s3){
System.out.println("s1 s3指向同一个对象");
}
if(s1.equals(s2)){
System.out.println("s1 s2相等");
}
if(s1.equals(s3)){
System.out.println("s1 s3相等");
}
if(s1 == s4){
System.out.println("s1 s4 指向同一个对象");
}
else{
System.out.println("s1 s4 不指向同一个对象");
}
}
}
3 包装类
包装类可以将基本数据类型的数值包装成一个对象
被包装成对象的数值也可以通过包装类提供的方法完成操作
3.1 integer
public integer(int value)
public integer(String s) throws NumberFormatException
常用方法
bytevalue
返回byteshortvalue
返回shortintvalue
返回int
mg-sdzRjtuM-1672287730991)]
3.1 integer
public integer(int value)
public integer(String s) throws NumberFormatException
常用方法
bytevalue
返回byteshortvalue
返回shortintvalue
返回int