java常用类

文章目录

  • 前言
  • 一、Object类
  • 二、String和StringBuffer类
  • 三、Math类
  • 四、Date类、Calendar类、SimpleDateFormat类


前言

java类有很多,但我们只需要记住其中的常用类即可,代表着经常会被用到的事件或者某项功能。

一、Object类

所有类的父类皆为Object类,一个类在声明时没有使用extends关键字为其显示指定父类,则该类默认继承Object类。

Object类的三大常用方法

方法名 返回类型 说明
equals(Object obj) boolean 判断指定对象与该对象是否相等
hashCode() int 返回该对象的哈希码值(内存地址值)
toString String 使用字符串表示该对象信息

Object类的toString()方法默认返回“运行时类名+@+十六进制的hashCode值”格式的字符串

com.test.Book@52e922

实例:


public  class FuLei {
    public void test(){
            Bank bank =new Bank();
            boolean flag = this.equals(bank);
            System.out.println("eauals返回值"+flag);
            String toResult = this.toString();
            System.out.println("toString()返回值"+toResult);
            int hashCode =this.hashCode();
            System.out.println("hashCode()返回值"+hashCode);
        }
        public  static void main(String[] args){
              FuLei fuLei = new FuLei();

              fuLei.test();
        }

}

java常用类

 

二、String类和StringBuffer类

String类是不可变类,被final修饰,一个String对象所包含的字符串内容永远不会被改变;

StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改。

String类构造方法

构造方法 说明
String() 创建一个内容为空的字符串
String(String value) 初始化一个新创建的String对象,使其表示一个与参数相同的字符序列
String(byte[]bytes,Charset charset) 使用指定的字符编码,将指定的byte[]数组构造成一个字符串
String(char[] char) 将制定的char[]数组构造成一个字符串

String类常用方法

方法名 说明
char charAt(index) 获取指定位置的字符
String concat(String str) 拼接
Boolean equals(Object object) 比较内容而不是地址值
byte[] getBytes() 转换
int indexOf(String str) 找出首次出现的位置
int length() 长度
String replace(char oldChar,char newChar) 替换
boolean endsWith(String suffix) 判断
String substring(int beginIndex,int endIndex) 获取子字符串
char[] toCharArray() 转换
String toUpperCase() 转换成大写

1.演示String类常用方法的使用

代码如下(示例):


public class ZiFu {
    public static void main(String[] args){
        String value ="Asdfdfs";
        System.out.println(value);
        String value1 = value.concat("love");
        System.out.println(value1);
        int index = value.indexOf("A");
        System.out.println(index);
        int lengh = value.length();
        System.out.println(lengh);
        boolean flag = "hello String".equals(value);
        System.out.println(flag);
        boolean tag =value.endsWith(".java");
        System.out.println(tag);
        String newValue = value.toUpperCase();
        System.out.println(newValue);
        String val = value.substring(0,2);
        System.out.println(val);
        String[] str =value.split("-");
        for(String data:str){
            System.out.println(data);
        }
        byte[] bytes = value.getBytes();
        for(byte date : bytes){
            System.out.println(date);
        }
    }

}

java常用类

 注意:

我们可以观察到第三行为0,说明concat方法不能被使用,同时证实了String是一个不可变类

再如类似于替代的方法同样不可行

 使用new String(“hello")在创建对象时,首先在堆内存中创建一个”hello"对象,然后再查找常量池中是否存在“hello”字符串对象,如果存在,则不会在常量池中再创建一个新的“hello"对象,否则会创建一个新的”hello"对象。

StringBuffer类常用方法

方法名 说明
StringBuffer append(String str) 追加
StringBuffer insert(intoffset,String str) 插入指定位置
StringBuffer reverse() 反转
void setCharAt(int index,char ch) 设置为ch

2.演示StringBuffer类常用方法的使用

代码如下(示例):

public class ZiFuChuan {
    public static void main(String[] args){
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("Inteligence");
        System.out.println(stringBuffer);
        stringBuffer.insert(0,"Artifical");
        System.out.println(stringBuffer);
        stringBuffer.replace(10,11,"-");
        System.out.println(stringBuffer);
        stringBuffer.reverse();
        System.out.println(stringBuffer);
        String str = "java";
        String newStr = str+"Android";

    }
}

 java常用类

 三、Math类

Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。

public static double abs(double num):获取绝对值

public static double ceil(double num):向上取整

public static double floor(double num):向下取整

public static long round(double num):四舍五入

 演示Math类方法的使用

public class ShuXue {
    public static void main(String[] args) {
        System.out.println("-3的絕對值"+Math.abs(-3));
        System.out.println("向上取整"+Math.ceil(3.3));
        System.out.println("向下取整"+Math.floor(3.3));
        System.out.println("四舍五入"+Math.round(4.5));
        System.out.println("27的算術立方根的值"+Math.cbrt(27));
        System.out.println("4的平方根的值"+Math.sqrt(4));
        System.out.println("3的2次方的值"+Math.pow(3,2));
        System.out.println("8和10兩個數的最大值"+Math.max(10,8));
        //返回一個隨機數,該值的範圍在0.0~1.0之間
        System.out.println("產生的隨機數"+Math.random());
        System.out.println("弧度為π/6的正弦值"+Math.sin(Math.PI/6));
    }
}

四、日期处理类

Date类

Date类处理日期和时间

构造方法 说明
Date() 创建一个代表当前日期的对象
Date(long time) 根据指定long类型整数生成一个Date对象

Date(long time)代表创建的是在GMT1970年1月1日00:00:00之间的时间,以毫秒作为计算单位

 演示Date类构造方法的使用

import java.util.Date;

public class Time {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        Date newDate = new Date(1000*60*60*24*20);
        System.out.println("20天后的時間為"+newDate);
    }
}

java常用类 

 

Calendar类

  • 主要解决Date类设计上的一些问题,所以java提供了Calendar类更好的处理日期和事件
  • Calendar类是一个抽象类,所以不能实例化Calendar对象,但是Calendar类提供了静态的方法getInstance()以获得Calendar对象
  • Calendar与Date类可以相互转换

通过getInstance()方法创建Calendar类对象

Calendar calendar = Calendar.getInstance();

从Calendar中获取Date对象

 Date date = calendar.getTime();

将Date对象赋给对应的Calendar对象

calendar.setTime(new Date()); 

使用Calendar类实现对日期的操作

 

public class Time {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        Date newDate = new Date(1000*60*60*24*20);
        System.out.println("20天后的時間為"+newDate);

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        System.out.println("年:"+calendar.get(Calendar.YEAR)+"年");
        System.out.println("月:"+(calendar.get(Calendar.MONTH)+1)+"月");
        System.out.println("日:"+calendar.get(Calendar.DATE)+"日");
        System.out.println("星期:"+(calendar.get(Calendar.DAY_OF_WEEK)-1)+"星期");
        System.out.println("本年的第:"+calendar.get(Calendar.DAY_OF_YEAR)+"天");
    }
}

java常用类 

 SimpleDateFormat类

SimpleDateFormat类用于日期时间的格式化与解析各种格式的日期字符串

该类的作用就在于构造器,而在创建该类时我们需要传入一个模板字符串

日期格式化模板标记

标记 书写规范
y yyyy
M MM
d dd
H HH
m mm
s ss

 

 

 

 

 

 

 

 

具体操作如下:

 


public class SimpleDateFormatUse {
    private static final String PARRENT1 = "yyyy-MM-dd HH:mm:ss";
    private static final String PARRENT2 ="yyyy年MM月dd日 HH小時mm分ss秒";
    public static void parse(String strDate){
        SimpleDateFormat sdf = new SimpleDateFormat(PARRENT1);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(PARRENT2);

        try{


            Date date = sdf.parse(strDate);
            System.out.println("strDate解析后成的date"+date);
            String str = simpleDateFormat.format(date);
            System.out.println(str);

        }catch (ParseException e){
            e.printStackTrace();

        }


    }
    public static void main(String[] args) {
        SimpleDateFormatUse simpleDateFormatUse = new SimpleDateFormatUse();
        String str ="2020-05-05 12:12:12";
        simpleDateFormatUse.parse(str);
    }
}

java常用类

 

上一篇:时间工具类


下一篇:java根据年月日 加四位编号 自动生成订单号