常用类小结

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(不包括))
将指定的类型数组所有元素按数字升序进行排序。
l 自定义对象排序
自定义类实现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等)这些类封装了一个相应的基本数据
类型数值,并为其提供了一系列操作方法。
对于包装类来说,这些类的用途主要包含两种:
作为和基本数据类型对应的类类型存在。
包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操
作方法。
包装类常用属性方法
以下方法以 java.lang.Integer 为例
public static final int MAX_VALUE 最大的 int 型数( 2 31 -1
public static final int MIN_VALUE 最小的 int 型数( -2 31
构造方法
Integer(int a);
Integer(String a);
比较方法
static int compareTo(Integer a);
boolean equals(Object);
int max(int a,int b);
int min(int a,int b);
转换方法
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 就可以解决这个问题
线程安全的可变字符序列
● StringBuffer String 的区别 ?
构造方法
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()
截取功能
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()
l 成员方法
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()
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值