JaveSE _API常用类

Java API概述

API(Application Programming Interface)应用程序编程接口 是对java预先定义的类或接口功能和函数功能的说明文档,目的是提供 给开发人员进行使用帮助说明

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()方法。

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

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(不包括)) 将指定的类型数组所有元素按数字升序进行排序。

自定义对象排序 自定义类实现Comparable接口 重写compareTo方法

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)

toString() 方法

● public static String toString(type[] a)

● 返回指定数组内容的字符串表示形式。

基本数据类型包装类

● Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面 向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设 计类时为每个基本数据类型设计了一个对应的类进表示,这样八个和基 本数据类型对应的类统称为包装类.

● 包装类(如:Integer,Double等)这些类封装了一个相应的基本数据 类型数值,并为其提供了一系列操作方法

对于包装类来说,这些类的用途主要包含两种:

● 作为和基本数据类型对应的类类型存在。

● 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操 作方法。

//转换方法
static toBinaryString(int i);
 static String toHexString(int i);
 static String toOctalString(int i);
 int intValue();  
static int parseInt(String s);
 String toString();
 static Integer valueOf(int i)  
static Integer valueOf(String s)  

装箱和拆箱Auto-boxing/unboxing

装箱

自动将基本数据类型转换为包装器类型 装箱的时候自动调用的是Integer的valueOf(int)方法

拆箱

自动将包装器类型转换为基本数据类型 拆箱的时候自动调用的是Integer的intValue方法

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()

StringBuffer类

StringBuffer类概述 我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String 对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题 线程安全的可变字符序列

//构造方法
public StringBuffer() 
public StringBuffer(String str)
 //添加功能
public StringBuffer append(String str)
 public StringBuffer insert(int offset,String str)
 //删除功能
public StringBuffer deleteCharAt(int index)
 public StringBuffer delete(int start,int end)
 //替换功能
public StringBuffer replace(int start,int end,String str)
 //反转功能
public StringBuffer reverse()
StringBuffer类
// 截取功能
public String substring(int start)
 public String substring(int start,int end)

截取功能和前面几个功能的不同 返回值类型是String类型,本身没有发生改变

 StringBuilder类功能和StringBuffer功能完全一致, StringBuffer是线程 安全的

String类StringBuffer类StringBuilder区别

String:是字符常量,适用于少量的字符串操作的情况

 StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况

 StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况

Math类

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和 返回值类型一般为double型。

abs 绝对值

sqrt 平方根

pow(double a, double b)

a的b次幂 max(double a, double b)

min(double a, double b)

random() 返回 0.0 到 1.0 的随机数

long round(double a) double型的数据a转换为long型(四舍五入)

Random类

Random类概述 此类用于产生随机数

 //构造方法
public Random()
 // 成员方法
public int nextInt()
 public int nextInt(int n)

Date类/Calendar类/ SimpleDateFormat类

Date类 ● 使用Date类代表当前系统时间

Date d = new Date();
 Date d = new Date(long  d);

Calendar类

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建 对象的过程对程序员来说是透明的,只需要使用getInstance方法创建 即可。

Calendar c1 = Calendar.getInstance();   
c1.get(Calendar. YEAR);

SimpleDateFormat 日期格式化类

//构造方法
             SimpleDateFormat(格式); // yyyy-MM-dd
 //日期转字符串 
             Date now=new Date();
              myFmt.format(now);
 //字符串转日期
              myFmt.parse(“2018-02-10”);   
             字符串日期格式与 指定格式必须一致
              例如:String s = “2018-03-15”;
                       new  SimpleDateFormat(“yyyy-MM-dd”

BigInteger

在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的局限性。

● 我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述更大的 整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。

● BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意 精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而 不会丢失任何信息。

● BigInteger类位于java.math包中

 //构造方法
BigInteger(String val) /BigInteger(byte[] val) ...
//基本运算方法
add(),subtract(),multiply(),divide()

BigDecimal

在计算机中float 还是double都是浮点数,而计算机是二进制的,浮点数会失 去一定的精确度。

● 根本原因是:十进制浮点值没有完全相同的二进制表示形式;十进制浮点值的二进 制表示形式不精确,只能无限接近于那个值. System.out.println((0.1 + 0.2)==0.3);//结果是? 但是,在项目中,我们不可能让这种情况出现,特别是金融项目,因为涉及金 额的计算都必须十分精确,你想想,如果你的支付宝账户余额显示 193.99999999999998,那是一种怎么样的体验?

• Java在java.math包中提供的API类BigDecimal

 //构造方法
BigDecimal(String val)
//基本运算方法
add(),subtract(),multiply(),divide()

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值