后端java的复习-常用API(个人笔记)

常用api

  • Object
    • toString方法
    • equals方法
    • finalize方法
    • clone()方法
  • System
  • String
    • 构造方法
    • 常用方法
      • 获取型
      • 判断型
      • 转换型
  • StringBuffer与StringBuilder
  • 八种基本数据类型包装类
    • 八种包装类
    • Integer
  • Date
    • 获取系统当前时间
    • Date->String
    • String ->Date
  • Calendar(日历)
    • 介绍
    • 常用方法
  • 匿名内部类

Object

toString方法

  • toString方法是Object的方法,因此所有java中的类都有该方法,
  • toString()方法的设计目的是:通过调用该方法将一个“java对象”用一个“字符串”来表示
  • sun公司建议我们在定义自己的类的时候重写此方法
  • 重写toString方法转换的字符串应该要达到简介、详实、易阅读。

equals方法

  • equals方法是Object的方法,因此所有java中的类都有该方法,
  • toString()方法的设计目的是:判断两个对象是否相等
  • 我们在定义类时,可以根据我们对象等的理解来重写该方法

finalize方法

  • 建议JVM回收不用的java对象

clone()方法

  • 返回一个和自己完全相同的对象,但是内存地址不同

  • 一个对象想要使用克隆方法应该实现Clonable接口

  • 深克隆与浅克隆

System

  • System.out [out]是System的一个静态变量
  • System.out.println() [println()方法不是System类的,是PrintStream类的方法]
  • System.gc(); 建议启动垃圾回收器
  • System.currentTimeMillis(); 获取系统当前时间的毫秒数
  • System.exit(0); 退出JVM

String

  1. String表示字符串类型,属于引用数据类型,不属于基本数据类型。
  2. 在java中随便使用双引号括起来的都是String对象
  3. java中规定:双引号括起来的都是字符串,是不可变的,也就是说"abc"自出生到死亡不可变,不能变成"abcd"。
  4. 凡是用双引号引起来的字符串都会存储到jvm的方法区内。
  5. 当我们使用String str =“str”;的方式创建字符串时,jvm会先在方法区的字符串常量池中存储字符串,让该对象指向方法区的字符串
  6. 当我们使用new的方法创建字符串时,jvm会在堆内存和方法区各开启一段内存,堆中对象指向方法区字符串常量池中的字符串,我们的变量指向堆中的对象
  7. String实现了CharSequence接口,看到CharSequence很可能是字符串

构造方法

  • String s=new String("");
  • String s=""; 最常用
  • String s=new String(byte数组);
  • String s=new String(byte数组,int 起始下标,int 长度);
  • String s=new String(char数组);
  • String s=new String(char数组,int 起始下标,int 长度);后端java的复习-常用API(个人笔记)_第1张图片

常用方法

获取型

  • charAt() 按照索引返回字符
  • compareTo(String anotherString) 比较两个字符串在字典中的顺序
  • indexOf(String str); 获取目标字符串在当前字符串中第一次出现的位置的首字符下标
  • String[] split(String str); 获取通过目标字符串分割当前字符串
  • subString(int startIndex); 获取下标以及之后的字符串
  • subString(int startIndex,int endIndex); 获取开始下标和结束下标之间的字符串

判断型

  • contains(String str); 判断当前字符串是否包含目标字符串
  • startsWith(String str); 判断当前字符串是否是以目标字符串开始
  • endsWith(String str); 判断当前字符串是否是以目标字符串结尾
  • equals(String str); 判断当前字符串和目标字符串是否相等
  • equalsIgnoreCase(String str); 判断当前字符串和目标字符串是否相等(忽略大小写)
  • matches(String str); 判断当前字符串是否符合给定的正则表达式

转换型

  • toLowerCase(); 把当前字符串的字母全改成小写的
  • toUpperCase(); 把当前字符串的字母都改成大写的
  • String.valueOf(Object obj); 把不是字符的东西转成字符串
  • getBytes(); 获取当前字符串对应的bytes数组
  • toCharArray(); 获取当前字符串的char数组
  • replace(CharSequence newString,CharSequence oldString); 把当前字符串中前者字符串的替换成后者字符串
  • replaceAll(String regex,String replacement); 使用正则表达式去替换
  • trim(); 去除当前字符串前后空白

StringBuffer与StringBuilder

  • StringBuffer和String相似,底层采用缓存的方式缓解了字符串拼接时有太多字符串存到字符串常量池的问题。
  • StringBuffer(int length); 默认缓存长度
  • append(String str); 拼接字符串
  • StringBuffer是线程安全的,StringBuilder是非线程安全的.

八种基本数据类型包装类

八种包装类

基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

Integer

java中为了提高程序的执行效率,将[-128到127]之间所有的包装对象提前创建好,放到了一个方法区的"整数型常量池"当中了,目的是只要用这个区间的数据就不需要再new了,直接从整数型常量池当中取即可

//"=="比较的永远都是地址
Integer integer1=127;
Integer integer2=127;
System.out.println(integer1==integer2);//true
Integer integer3=128;
Integer integer4=128;
System.out.println(integer3==integer4);//false
  • Integer–>String : String.valueOf();
  • String -->Integer :Integer.valueOf();
  • int与Integer的转换自从jdk1.5就是自动的了。

Date

获取系统当前时间

Date new Date();
Date new Date(System.currentTimeMillis());

Date->String

使用SimpleDateFormat 对象的format方法

        //下面的字符串是日期格式
//        y代表年,M代表月,d代表日,H代表小时,m代表分钟,s代表秒,S代表毫秒
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String format = simpleDateFormat.format(new Date());
        System.out.println(format);

String ->Date

使用SimpleDateFormat的parse方法,字符串格式必须和指定的格式相同,不然会报错

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String time="2021-04-29 16:06:14 602";
        Date parse = simpleDateFormat.parse(time);
        System.out.println(parse);

Calendar(日历)

介绍

Calendar是一个抽象类,里面提供了很多操作日历字段的方法(YEAR、MONTH、DAY_OFMONTH、HOUR)
Calendar类是无法直接创建对象,他有一个静态方法getInstance()可以获取Calendar对象类的子类对象
static Calendar getInstance() 使用默认时区和语言环境获得日历

常用方法

  • int get(int field) 返回给定日历字段的值
  • void set(int field,int value) 将给定日历字段设置为给定值
  • add(int field,int amount) 根据日历的规则,为给定日历字段添加或减去指定的时间量
  • Date getTime() 返回一个表示此事件的Date对象
  • setTime(Date date) 设置时间为Date
  • set(Calendar.DAY_OF_WEEK,int i); 设置该日期为本周的周几,并不是第几天,需要用Calendar.MONDAY。
  • instance.setFirstDayOfWeek(int i); 设置每周的第一天是星期几

匿名内部类

  • 应用场景:当我们需要使用某个接口的方法,但我们却没有它的实现类,并且我们就使用这一次(创建一个实现她的泪太麻烦),我们就可以使用创建一个临时的匿名内部类。
  • 语法
new 接口名(){ 
	匿名类的类体
}

你可能感兴趣的:(java基础,后端技术栈巩固复习,java)