前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java】07 常见 API

【Java】07 常见 API

作者头像
Demo_Null
发布2020-09-28 11:03:16
6210
发布2020-09-28 11:03:16
举报
文章被收录于专栏:Java 学习

列举在开发中常用到的 API

一、Object 类

   Object 类是所有类的父类,若一个类没有指定继承的类则继承Object。任一类都直接或间接继承于Object。

1.1 常用方法

1.1.1 toString 方法

源码:

代码语言:javascript
复制
public String toString() {
    return getClass().getName() + '@' + Integer.toHexString(hashCode())
}

注意:   若不重写 toString 则返回 对象类型 + @ + 地址的哈希值

重写 toString 方法

代码语言:javascript
复制
@Override
public String toString() {
    return "Student{" +
            "name='" + name + '\'' +
            ", age=" + age +
            '}';
}
1.1.2 equals 方法

源码:

代码语言:javascript
复制
public boolean equals(Object obj) {
    return (this == obj);
}

注意:   若不重写 equals 则比较两个对象的地址值

重写 equals 方法

代码语言:javascript
复制
@Override
  public boolean equals(Object o) {
      //判断是否为同一个对象
      if (this == o) 
          return true;
      //判断是否为空,是否为同一引用类型
      if (o == null || getClass() != o.getClass()) 
          return false;
      //向下转型
      Student_equals that = (Student_equals) o;
      //返回内容的比较结果
      return age == that.age && Objects.equals(name, that.name);
  }

1.2 Objects 工具类

1.2.1 equals 方法

源码:

代码语言:javascript
复制
public static boolean equals(Object a, Object b) {  
    return (a == b) || (a != null && a.equals(b));  
}

注意:   Objects.equals(a, b) 容忍空指针

二、Scanner 类

   一个可以解析基本类型和字符串的文本扫描器。

2.1 Scanner 对象的创建

2.2.1 导包
代码语言:javascript
复制
// import 包名.类名;
import java.util.Scanner;
2.2.2 创建对象
代码语言:javascript
复制
// 类名 对象名 = new 类名( 参数列表 );
// System.in系统输入指的是从键盘输入
Scanner sc = new Scanner(System.in);

2.2 常用方法

2.2.1 next()

   它从遇到的第一个有效字符(非空格、非换行)开始扫描,以空格或者换行符为终点,返回字符串。

2.2.2 nextLine()

   以换行符为终点,获取一整行数据。

2.2.3 nextInt()

   以空格或者换行符为终点,返回整数(实际是获取的字符串,只是将其转为了整数)。

2.2.4 hasNext()

   判断输入流中是否还有数据,有则返回 true。

2.3 示例

代码语言:javascript
复制
import java.util.Scanner;

public class Demo_Scanner {
    public static void main(String[] args) {
    	// 创建 Screen 对象
        Scanner sc = new Scanner(System.in);
        // 使用 nextInt() 方法
        int i = sc.nextInt();

        System.out.println(i);
    }
}

三、Random 类

   用于生成一个伪随机数。

3.1 Random 对象的创建

3.1.1 导包
代码语言:javascript
复制
import java.util.Random;
3.1.2 创建对象
代码语言:javascript
复制
Random r = new Random();

3.2 常用方法

nextInt()    生成一个随机数 nextInt(int b)    生成一个 [0, b) 的随机数

3.3 示例

代码语言:javascript
复制
import java.util.Random;

public class Demo_Random {
    public static void main(String[] args) {
        Random r = new Random();
		// 生成一个 [0, 10)  的随机数
        int i = r.nextInt(10);

        System.out.println(i);
    }
}

四、String 类

   String 代表字符串,java中的字符串常量都可以看为 String 的实例,例如:“abc”

4.1 String 对象的创建

4.1.1 导包

   String 类在 java.lang 包中,所以不需要导包

4.1.2 创建对象
代码语言:javascript
复制
// 形式一
String str = new String("string");
// 形式二
String str = new String(char[] chars);
// 形式三
String str = new String(byte[] bytes);
// 形式四
String str = "abc"
4.1.3 注意

   String 对象在创建后不能更改,所以可以被共享。例如:String s = “abc” 是 “abc” 不能更改,而不是变量 s 。

4.2 常用方法

4.2.1 比较( equals )
代码语言:javascript
复制
String s1 = "Hello World";
String s2 = new String("Hello World");
// 此时比较的是两个字符串的地址值是否一致,而不是内容。
System.out.print(s1 == s2);

//  equals 才是两个字符串的内容是否一致。s1 == null 会报 空指针
s1.equals(s2);
4.2.2 获取
代码语言:javascript
复制
// 获取索引值对应的字符
char charAt( index)
// 获取字符串的长度
int length()
// 获取第一次出现该字符串的索引值
int indexOf( String str )
// 截取字符串
String subString( beginIndex, endIndex)
4.2.3 转换
代码语言:javascript
复制
// 转为字符数组
char[] toCharArray()
// 转为字节数组
byte[] getBytes()
4.2.4 分割
代码语言:javascript
复制
// 按照给定规则分割字符串
String[] split(String regex)
4.2.5 替换
代码语言:javascript
复制
// 将某一字符串替换为新的,只替换第一个
String replace(String oldStr, String newStr)
// 替换所有
String replaceAll(String oldStr, String newStr)

五、Date 类

创建时间对象

5.1 时间原点

   格林威治:1970-01-01 00:00:00    北京:1970-01-01 08:00:00

5.2 构造方法

public Date()    分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 public Date(long date)    分配Date对象并初始化此对象,以表示自从原点以来经过的毫秒数。

5.3 常用方法

getTime()    把日期对象转换成对应的时间毫秒值。

5.4 示例

代码语言:javascript
复制
import java.util.Date;

public class DemoDate {
    public static void main(String[] args) {
        Date date1 = new Date(1000 * 60 * 2);       
        Date date2 = new Date();                     

        //无参构造。表示当前时间L
        Date date3 = new Date(); 

        //将日期对象转为毫秒值
        long m = date3.getTime();

        System.out.println(date1);
        System.out.println(date2);
        System.out.println(date3);
    }
}

六、DateFormat 类

   DateFormat 是一个抽象类,不能直接 new 对象,需要使用子类

6.1 语法

代码语言:javascript
复制
// 用给定的模式和默认语言环境的日期格式符号创建SimpleDateFormat对象
// y ---> 年
// M ---> 月
// d ---> 日
// H ---> 时
// m ---> 分
// s ---> 秒
SimpleDateFormat sdf = new SimpleDateFormat(pattern);

6.3 常用方法

format()    格式化,按照指定的格式,从Date对象转换为String对象。 parse()    解析,按照指定的格式,从String对象转换为Date对象。

6.4 示例

代码语言:javascript
复制
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class DemoDateFormat {
    public static void main(String[] args) throws ParseException {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入出生日期(格式:xxxx-xx-xx xx:xx:xx)");
        String s = sc.nextLine();
        //日期对象
        Date date = new Date();
        //格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //格式化当前日期
        String format = sdf.format(date);
        System.out.println(format);

        //解析传入日期
        Date parse = sdf.parse(s);
        //计算出生毫秒数
        long l = date.getTime() - parse.getTime();
        //输出毫秒
        System.out.println(l);
        //输出年龄
        System.out.println(l / 1000 / 60 / 60 / 24 / 30 / 12);
    }
}

七、StringBuilder 类

   它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。 StringBuilder 会自动维护数组的扩容。(默认16字符空间,超过自动扩充)

7.1 构造方法

public StringBuilder()    构造一个空的 StringBuilder 容器。 public StringBuilder(String str)    构造一个 StringBuilder 容器,并将字符串添加进去。

7.2 常用方法

append(String str)    添加任意类型数据的字符串形式,并返回当前对象自身。 toString()    将当前StringBuilder对象转换为String对象。

7.3 示例

代码语言:javascript
复制
public class DemoStringBuilder {
	public static void main(String[] args) {
	     //使用有参构造创建 StringBuilder 对象
	     StringBuilder sb = new StringBuilder("中国");
	     //将字符追加到sb后
	     sb.append("©");
	     sb.append(2019);
	
	     //将StringBuilder转为字符串
	     String s = sb.toString();
	
	     System.out.println(s);
	
	 }
}

八、ArrayList 集合

   ArrayList 是一个集合,数组是定长的,当我们要改变数组长度是需要创建新的数组,ArrayList不同他的长度是可以改变的。

8.1 使用方法

8.1.1 导包
代码语言:javascript
复制
// 泛型指定什么数据类型,集合中就存什么数据类型,需要使用引用类型。
// 第二个<>内可以不写,第一个是什么第二个就默认是什么。
import java.util.ArrayList<E>;
8.1.2 创建对象
代码语言:javascript
复制
// 泛型指定什么数据类型,集合中就存什么数据类型,需要使用引用类型。
// 第二个<>内可以不写,第一个是什么第二个就默认是什么。
类名<泛型> 集合名 = new 类名<> ();

8.2 常用方法

add( E e )    添加新的数据到集合中 remove( index )    删除索引为 index 的元素 get( index )    获取索引为 index 的元素 size()    获取 list 集合的长度

8.3 示例

代码语言:javascript
复制
import java.util.ArrayList;

public class Demo_ArrayList {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();

        list.add(20);
        list.add(8);
        list.add(16);
        list.add(1818);
        Integer remove = list.remove(1);
        Integer integer = list.get(1);
        int size = list.size();
    }
}

九、 工具类

9.1 Arrays 类

代码语言:javascript
复制
// 将一个字符数组升序排列
sort()

9.2 Math 类

代码语言:javascript
复制
// 生成一个[0,1)的伪随机数
random()

// 向上取整
ceil()

// 向下取整
floor()

// 四舍五入
round()

// 取绝对值
abs()

十、包装类

   基本数据类型方便、简单、高效,但泛型、集合等不支持使用基本数据类型且不符合面向对象的思想,所以在 Java 中引入了包装类

10.1 对应关系

基本数据类型

包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

10.2 装箱与拆箱

【装箱】基本数值 —> 包装对象

代码语言:javascript
复制
//使用构造函数函数
Integer i1 = new Integer(int i);
//使用包装类中的valueOf方法
Integer i2 = Integer.valueOf(int i);

【拆箱】包装对象 —> 基本数值

代码语言:javascript
复制
int num = i.intValue();

注意

代码语言:javascript
复制
// 从 JDK 1.5 开始,基本类型与包装类的装箱、拆箱动作可以自动完成。
Integer i = 1; 		// 自动装箱 相当于 Integer i = Integer.valueOf(1);
int a = i + 2; 		// 自动拆箱 相当于 i.intValue() + 2;
10.3 转换方法

   除了 Character 类之外,其他所有包装类都具有 parseXxx 静态方法可以将字符串参数转换为对应的基本类型

代码语言:javascript
复制
// 将字符串参数转换为对应的 byte 基本类型。
Byte parseByte(String s)

// 将字符串参数转换为对应的 short 基本类型。
Short parseShort(String s)

// 将字符串参数转换为对应的 int 基本类型。
Integer parseInt(String s)

// 将字符串参数转换为对应的 long 基本类型。
Long parseLong(String s)

// 将字符串参数转换为对应的 float 基本类型。
Float parseFloat(String s)

// 将字符串参数转换为对应的 double 基本类型。
Double parseDouble(String s)

// 将字符串参数转换为对应的 boolean 基本类型。
Boolean parseBoolean(String s)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Object 类
    • 1.1 常用方法
      • 1.1.1 toString 方法
      • 1.1.2 equals 方法
    • 1.2 Objects 工具类
      • 1.2.1 equals 方法
  • 二、Scanner 类
    • 2.1 Scanner 对象的创建
      • 2.2.1 导包
      • 2.2.2 创建对象
    • 2.2 常用方法
      • 2.2.1 next()
      • 2.2.2 nextLine()
      • 2.2.3 nextInt()
      • 2.2.4 hasNext()
    • 2.3 示例
    • 三、Random 类
      • 3.1 Random 对象的创建
        • 3.1.1 导包
        • 3.1.2 创建对象
      • 3.2 常用方法
        • 3.3 示例
        • 四、String 类
          • 4.1 String 对象的创建
            • 4.1.1 导包
            • 4.1.2 创建对象
            • 4.1.3 注意
          • 4.2 常用方法
            • 4.2.1 比较( equals )
            • 4.2.2 获取
            • 4.2.3 转换
            • 4.2.4 分割
            • 4.2.5 替换
        • 五、Date 类
          • 5.1 时间原点
            • 5.2 构造方法
              • 5.3 常用方法
                • 5.4 示例
                • 六、DateFormat 类
                  • 6.1 语法
                    • 6.3 常用方法
                      • 6.4 示例
                      • 七、StringBuilder 类
                        • 7.1 构造方法
                          • 7.2 常用方法
                            • 7.3 示例
                            • 八、ArrayList 集合
                              • 8.1 使用方法
                                • 8.1.1 导包
                                • 8.1.2 创建对象
                              • 8.2 常用方法
                                • 8.3 示例
                                • 九、 工具类
                                  • 9.1 Arrays 类
                                    • 9.2 Math 类
                                    • 十、包装类
                                      • 10.1 对应关系
                                        • 10.2 装箱与拆箱
                                          • 10.3 转换方法
                                      相关产品与服务
                                      容器服务
                                      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档