Java中的常用类

1.Object类

● Object类是所有Java类的祖先(根基类)。每个类都使用 Object 作为超类
(父类)。所有对象(包括数组)都继承实现这个类的方法。
● 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类
public class Person { ... }
等价于:
public class Person extends Object {...}

● toString方法
● Object类中定义有public String toString()方法,其返回值是 String 类
型,描述当前对象的有关信息。
● 当需要通过输出语句输出一个对象时,如System.out.println(person),
将自动调用该对象类的 toString()方法,如果该类中没有重写toString(),那
么默认调用Object类中的toString(),默认输出对象hashCode值.
● 可以根据需要在用户自定义类型中重写toString()方法。

 public String toString() {
        return "姓名:"+name+"年龄:"+age;
    }

● equals方法
● Object类中定义有:
● public boolean equals(Object obj)方法,判断对象是否相等的逻辑。
public boolean equals(Object obj) {
return (this == obj);
}
● Object 中的 equals 方法默认使用==比较,比较的是对象地址,这点需
要注意.
● JDK提供的一些类,如String,Date等,重写了Object的equals方
法,调用这些类的equals方法, x.equals (y) ,当x和y所引用的对象
是同一类对象且属性内容相等返回 true 否则返回 false。

public class Equals {
    public static void main(String[] args) {
        Person p1=new Person("jim",10);
        Person p2=new Person("jim",20);
        int a=10;
        int b=10;
        System.out.println(a==b);
        System.out.println(p1==p2);
        System.out.println(p1.equals(p2));
        String s1=new String("abc");
        String s2=new String("abc");
        System.out.println(s1==s2);
        System.out.println(s1.equals(s2));
    }
}

2.Arrays类

● java.util.Arrays类用于操作数组工具类,里面定义了常见操作数组的静态方法.
● equals 方法
比较两个数组对象中元素是否相等.
而数组对象中的equals用来判断与另一个数组对象是否相等。
声明:public static boolean equals(type[]a,type[]a2)
参数的类型可以是原生数据类型和引用类型的任意一种类型
返回:如果两个相等,则返回true,否则返回false

● sort -排序
● 作用于数组的所有元素
public static void sort(type[] a)
● 作用于数组指定范围内的元素
public static void sort(type[] a, int fromIndex(包括), int
toIndex(不包括))
将指定的类型数组所有元素按数字升序进行排序。
l 自定义对象排序
自定义类实现Comparable接口
重写compareTo方法

 String []s={"b","a","c"};
        Arrays.sort(s);
public class Student implements Comparable<Student>{
    String name;
    int num;
    private String sex;


    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Student(){

    }
 public Student(int num, String name, String sex){
     this.num=num;
     this.name=name;
     this.sex=sex;
 }

    @Override
    public int compareTo(Student o) {
        return this.num-o.num;
    }
}

binarySearch -使用二分搜索算法搜索指定数组
public static int binarySearch(type[] a, type key)
public static int binarySearch(long[] a,int fromIndex,int
toIndex,long key)
● 参数:
a - 要搜索的数组。
key - 要搜索的值。
fromIndex - 要排序的第一个元素的索引(包括)。
toIndex - 要排序的最后一个元素的索引(不包括)。
● 如果key在数组中,则返回搜索值的索引;否则返回负数,表示不存在

● copyOf方法
● 数组复制,将指定数组中的元素复制到一个指定长度的新数组中,并返回
新数组.
● static int[] copyOf(int[] a, int newLength)
● fill方法
● 将指定的int值分配给指定的int数组的每个元素。
● fill(int[] a, int val)

public class copyof {

    public static void main(String[] args) {
        int a[]={1,2,3,4,5};
        int b[]= Arrays.copyOf(a,2*a.length);
        System.out.println(Arrays.toString(b));
        Arrays.fill(b,0);
        System.out.println(Arrays.toString(b));
        System.out.println(Arrays.binarySearch(a,0,5,2));

        }
}

toString() 方法
● public static String toString(type[] a)
● 返回指定数组内容的字符串表示形式。

3.基本数据类型包装类

● Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面
向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设
计类时为每个基本数据类型设计了一个对应的类进表示,这样八个和基
本数据类型对应的类统称为包装类.
● 包装类(如:Integer,Double等)这些类封装了一个相应的基本数据
类型数值,并为其提供了一系列操作方法。

对于包装类来说,这些类的用途主要包含两种:
● 作为和基本数据类型对应的类类型存在。
● 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操
作方法。

● 装箱和拆箱Auto-boxing/unboxing
● 装箱
自动将基本数据类型转换为包装器类型
装箱的时候自动调用的是Integer的valueOf(int)方法
● 拆箱
自动将包装器类型转换为基本数据类型
拆箱的时候自动调用的是Integer的intValue方法


//装箱
int a = 12;
Integer b = Integer.valueOf(a);

//拆箱
int c = b.intValue();
int a = 12;


//自动装箱
Integer b = a;


//自动拆箱
int c = b; 

4.String类

● String类概述
字符串是由多个字符组成的一串数据(字符序列)的字符串常量,java中所有字
符串都是String类的实例.
● 有两种创建形式:
● 第一种:
String s = "abc";
先在栈中创建一个对String类的对象引用变量s,然后去字符串常量池中查找
有没有"abc", 如果没有则在常量池中添加”abc”, s引用变量指向常量池中
的”abc”,如果常量池中有,则直接指向改地址即可,不用重新创建.
● 第二种:
一概在堆中创建新对象,值存储在堆内存的对象中。
String s = new String("abc");

● 构造方法
public String()
public String(String str)
public String(byte[] bytes)
public String(char[] value)

● 判断功能
boolean equals(Object obj)
boolean equalsIgnoreCase(String str)
boolean contains(String str)
boolean isEmpty()
boolean startsWith(String prefix)
boolean endsWith(String suffix)

●获取功能
int length()
char charAt(int index)
int indexOf(String str)
int indexOf(String str,int fromIndex)
String substring(int start)
String substring(int start,int end)

● 转换功能
byte[] getBytes()
char[] toCharArray()
static String valueOf(char[] chs)
String toLowerCase()
String toUpperCase()
String concat(String str)
Stirng[] split(分割符);

● 替换功能
String replace(char old,char new)
String replace(String old,String new)
replaceAll(String regex, String replacement)
replaceFirst(String regex, String replacement)
● 去除字符串两空格
String trim()

public class Stringdemo4 {
    public static void main(String[] args) {
        String s1="abcb";
        String s2="ab";
        System.out.println(s1.equals(s2));//判断两个字符串是否相等
        String s3="Abc";
        System.out.println(s1.equalsIgnoreCase(s3));//忽略字符串s3大小写的判断
        String s4="ab";
        System.out.println(s1.contains(s4));//判断s1是否包含s4
        System.out.println(s1.isEmpty());//判断s1字符串是否为空
        String a="a";
        System.out.println(s1.startsWith(a));//判断s1是否从字符串a开始
        String c="c";
        System.out.println(s1.endsWith(c));//判断s1是否从字符串c结束
        System.out.println(s1.length());//判断长度
        System.out.println(s1.charAt(1));//找到字符
        String b="b";
        System.out.println(s1.indexOf(b));//查找字符
        System.out.println(s1.indexOf(b,2));
        System.out.println(s1.lastIndexOf(b));//从后往前找字符
        System.out.println(s1.substring(1));//获取字符串
        System.out.println(s1.substring(1,3));
        s1.concat(b);//字符串的连接
        String [] s8=s1.split("");//分割字符串
        System.out.println(Arrays.toString(s8));
        System.out.println("aba".replace('a','d'));

    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值