javase常用类

Object

  1. Object类,所有类的父类(根类/基类),自定义一个类时,若没有明确继承类,默认继承Object类。

  2. Object中定义的方法,是所有对象都具备的方法

  3. Object类型可以存储任何对象
    1).作为参数,可以接受任何对象
    2).作为返回值,可以返回任何对象
    在这里插入图片描述

    在平常的工作学习中可能用到的方法如下:
    在这里插入图片描述

    1.getClass():返回此对象的运行时类。
    	1). public final native Class<?> getClass();
    	2).返回引用中存储的实际对象类型
    	3).应用:通常用于判断两个引用中实际存储对象类型是否一致
    2.hashCode()
    	1).  public native int hashCode();
    	2).返回该对象的十六进制的哈希码值
    	3).哈希算法是根据对象的地址、字符串、数字计算出来的int类型的数值
    	4).哈希码值并不唯一,尽量保证相同对象返回相同哈希码值,保证不同对象返回不同的哈希码值
    			如果两个对象的哈希码值不同,那这两个对象一定不等;
    			如果两个对象的哈希码值相同,不能确保这两个对象一定相等。
    3.toString()
    	1). public String toString() {
       				 return getClass().getName() + "@" + Integer.toHexString(hashCode());
    			}		
    	2).返回该对象的字符串表现形式
    	3).可以根据程序需求覆盖该方法,例:打印对象的各个属性值
    4.equals()
    	1).   public boolean equals(Object obj) {
       				 return (this == obj);
    		    }		
    	2).比较两个对象的地址是否相同
    	3).可以覆盖,比较两个对象的值(内容)是否相同
    

在这里插入图片描述
在这里插入图片描述

5.finalize()
	1).  protected void finalize() throws Throwable { }
			}		
	2).当对象被判定为垃圾对象时,由JVM自动调用此方法,用以标记垃圾对象进入回收队列
	3).垃圾对象:没有有效引用指向该对象时,为垃圾对象
	4).垃圾回收:由GC(垃圾回收器)自动回收、销毁垃圾对象,释放数据存储空间
		a.自动回收:当JVM内存耗尽,一次性回收所有垃圾对象
		b.手动回收:调用 System.gc() 方法,通知JVM执行垃圾回收

在这里插入图片描述

6.clone()
	1).  protected native Object clone() throws CloneNotSupportedException;
	2).克隆对象对应的类需要实现Cloneable接口,否则会报错:java.lang.CloneNotSupportedException
7.延展
	1).常覆写Object类的3个方法:toString(),equals(Object obj),hashCode()
	2).为什么notify(), wait()等方法定义在Object中,而不是Thread中?
		Object中的wait(), notify()等方法,和synchronized(同步机制)一样,会对“对象的同步锁”进行操作。
		wait()会使“当前线程”挂起等待,因为线程进入挂起状态,所以线程应该释放它锁持有的“同步锁”,否则其它线程获取不到该“同步锁”而无法运行!
		等待线程可以被notify()或notifyAll()唤醒。那么notify()是依据什么唤醒等待线程的?或者说,wait()等待线程和notify()之间是通过什么关联起来的?答案是:依据“对象的同步锁”。
		负责唤醒等待线程的那个线程(我们称为“唤醒线程”),它只有在获取“该对象的同步锁”(这里的同步锁必须和等待线程的同步锁是同一个),并且调用notify()或notifyAll()方法之后,才能唤醒等待线程。虽然,等待线程被唤醒;但是,它不能立刻执行,因为唤醒线程还持有“该对象的同步锁”。必须等到唤醒线程释放了“对象的同步锁”之后,等待线程才能获取到“对象的同步锁”进而继续运行。
		总之,notify(), wait()依赖于“同步锁”,而“同步锁”是对象锁持有,并且每个对象有且仅有一个!这就是为什么notify(), wait()等函数定义在Object类,而不是Thread类中的原因。

String

1.public final class String implements java.io.Serializable, Comparable<String>, CharSequence {}   (String---》被final修饰---》不能被继承)
2.常用方法
	1).charAt()

在这里插入图片描述
在这里插入图片描述

	2).indexOf / lastIndexOf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

	3).contains

在这里插入图片描述

	4).toCharArray

在这里插入图片描述

	5).split

在这里插入图片描述
在这里插入图片描述

	6).endsWith  / startsWith

在这里插入图片描述

	7).toUpperCase /  toLowerCase

在这里插入图片描述
在这里插入图片描述

	8).trim 、 replace

在这里插入图片描述

	9).subString

在这里插入图片描述

	10).
	11).
StringBuilder
线程不安全的可变字符序列
1)构造方法
    StringBuilder():以默认容量创建空的StringBuilder对象
    StringBuilder(int capacity):以指定容量创建空的StringBuilder对象
    StringBuilder(String str):以指定的字符串创建StringBuilder对象
2)成员方法
获取功能
int capacity():获取容量
int length():获取长度
添加功能
append(int value):追加。可以追加多种类型
insert(int offset,String s):在指定的位置插入指定数据
删除功能
deleteCharAt(int index):删除指定索引处的元素
delete(int start,int end):删除[start,start-1]范围内的元素
替换功能
replace(int start,int end,String s):将[start,end-1]范围内的元素替换成指定字符串
反转功能
reverse():元素反转
截取功能
String subString(int start):截取指定位置一直到末尾
String subString(int start,int end):截取[start,end-1]范围
StringBuffer

Scanner

1)构造方法
  Scanner(InputStream is)
  构造一个文本扫描器,它生成的值是从指定的值输入流扫描的
  System.in 是一个标准的输入流,属于InputStream
2)成员方法
      boolean hasNext():是否有下一个数,有true,没有false
      String next():获取下个数
      int nextInt():获取下个int数据
      String nextLine():获取一行数据

在这里插入图片描述
在这里插入图片描述

Math

成员方法
abs(int a):绝对值
ceil(double d):向上取整
floor(double d):向下取整
max(int a,int b):最大值
pow(double a,double b):a的b次幂
random():随机数[0.0,1.0]
round(float f):四舍五入
sqrt(double d):算术平方根
Random
1)构造方法
Random():以当前时间毫秒值作为种子,创建Random对象
Random(long seed):以指定种子创建Random对象
2)成员方法
nextInt():生成1个int类型范围的随机数
nextInt(int n):产生1个[0,n-1]范围内的随机数

生成0~n之间的数
①(int)Math.random()*(n+1)
②Random r  = new Random();
r.nextInt(m)表示生成[0,m-1]之间的随机数,也就是说random.nextInt(m+1),将生成[0,m]之间的随机整数。
r.nextInt(n+1)
生成n~m之间的随机数
①n+(int)(Math.random()*(m+1-n));
②Random r = new Random();
r.nextInt(m+1-n)+n;

Date

表示特定的瞬间,精确到毫秒值
1)构造方法
Date():以当前时间毫秒值创建Date对象
Date(long time):以指定的毫秒值创建Date对象
2)成员方法
long getTime():获取Date对象的毫秒值
setTime(long time):设置Data对象的毫秒值
DateFormat
它是一个抽象类,用来格式化或者解析日期
格式化:Date————》String
解析:String————》Date

getDateInstance(int style,Locale loc):获取日期格式器,该格式器具有给定的语言环境和给定的格式化风格
String format(Date date):格式化
Date parse(String time):解析
SimpleDateFormat
它是DateFormat的子类
1)构造方法
SimpleDateFormat():以默认模式创建对象
SimpleDateFormat(String pattern):以指定模式创建对象

常用模式
yyyy:年     MM:月    dd:日
HH:时    mm:分    ss:秒

2)常成员方法
String format(Date date):格式化
Date parse(String time):解析
Calendar
日历类,用于获取或者操作日历字段(年月日)
该类是一个抽象类,不可以实例化
成员方法
static Calender getInstance():以默认时区和语言创建日历
int get(int field):获取指定字段的日历值
set(int field,int value):给指定的日历字段设置指定的值
set(int year,int month,int date):设置年月日
Date getTime():获取日历对象的日期
setTime(Date d):设置日历对象的日期
add(int field,int amount):对指定的日历字段添加指定的值

System

没有构造方法
成员方法
gc():运行垃圾回收处理机制(系统会在某个不确定的时间调用该方法)
会调用finalize(),进行垃圾回收

exit(int status):退出JVM,0表示非异常退出
currentTimeMills():获取当前时间毫秒值
arrayCopy(Object[] srcArr,int srcPos,Object[] desArr,int destPos,int len):数组复制

在这里插入图片描述

BigInteger

1)构造方法
BigInteger(String s):通过字符串创建BigInteger对象
2)成员方法
add(BigInteger bi):+
subtract(BigInteger bi):-
multiply(BigInteger bi):*
divide(BigInteger bi):/

BigDecimal

用于解决浮点型运算精度损失的问题
1)构造方法
BigDecimal(String s):通过字符创建BigDecimal对象
2)成员方法
add(BigDecimal bi):+
subtract(BigDecimal bi):-
multiply(BigDecimal bi):*
divide(BigDecimal bi):/

包装类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值