java核心类库中常用类
java常用类 | 核心类库中 |
java核心类库中常用类
1.字符串类
字符串对象可以由String类、StringBuffer类和StingBuilder类实现。
1.1 java.lang.String
String用于创建字符串对象,并且创建的字符串(对象)不能被改变。
思考:为什么不能被修改?
解决方式:查看String类的源码。
1.String类的构造方法
string()
String(String value)
String(char[] value)
创建字符串对象的方式:
方式一:调用构造器 String s = new String()
方拾二:使用双引号直接创建 String s = "a";
String s = new String("a");// 第一次执行代码创建了几个对象?
答:创建了2个对象,第一个对象存放在字符串常量池中,第二个对象存放在堆中
String s = "hello"; s = s+ "world"; 原始的String对象中的内容到底变了没有?
答:没有, String 被设计成不可变类,所以它的所有对象都是不可变对象
2.字符串的操作
isEmpty() 判断字符串是否为空
charAt(int index) 获取指定位置的字符
length() 求字符串长度
equals(Object obj) 判断对象的内容是否相同。
详细了解equals方法的实现过程。查看源码
concat(String str) 连接2个字符串
等价于:+(加号) : ""+"" 使用相同对象 变量+"" 使用不同对象
replace(char ch1 char ch2) 将字符ch1用ch2替换。
1.2 java.lang.StringBuffer
使用场景:当需要改变字符串的值时,可以使用StringBuffer类
1.StringBuffer类的构造方法
StringBuffer()
StringBuffer(int length)
StringBuffer(String str)
注意:1.不能直接使用StringBuffer定义变量
2.由于字符串可变,所以创建对象时,不一定需要初始化。
2.对字符串的修改
1)添加 StringBuffer append(String str)
2)插入 StringBuffer insert(int offset, Object obj)
3)删除 StringBuffer delete(int start, int end)
4)替换 StringBuffer replace(int start, int end, String str)
1.3 java.lang.StingBuilder
相同:用法与StringBuffer类相同,可以多次修改,不产生新的对象
不同: 1.StringBuilder的方法不是线程安全。
2.StringBuilder方法执行效率高
2.java.lang.Math
3.java.lang.Object
Object()
toString()
equals()
hashCode()
getClass()
4.java.util.Scanner
用法:通过 Scanner 类来获取用户的输入。
Calendar类的构造器:
Scanner(InputStream source)
例如,该代码允许用户从System.in读取一个数字:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
常用方法:
String next() : next方法不能得到带空格的字符串
int nextInt() : 将输入信息的下一个标记扫描为一个 int
String nextLine() : 返回的是Enter键之前的所有字符,它是可以得到带空格的字符串
区分next()和nextLine()方法的不同
5.java.util.Date
作用:表示特定的瞬间,精确到毫秒。
常用构造器:
Date()
Date(long date)
常用方法:jdk1.8 中的大部分方法被弃用。
6.java.util.Calendar
作用:
创建对象:
Calendar是一个抽象类,通过getInstance方法构造Calendar的子类对象。
常用方法:
Calendar getInstance() : 返回Calendar的子类对象。
int get(int field) :返回给定参数field的值
filed :
Calendar.MONTH : 月
Calendar.YEAR : 年
Calendar.DAY_OF_MONTH: 日
Calendar.HOUR : 小时
Calendar.MINUTE : 分
Calendar.SECOND : 秒
7.java.lang.System
常用静态方法:
void gc() :运行垃圾回收器
void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) : 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
long currentTimeMillis() : 返回以毫秒为单位的当前时间
void exit(int status): 终止当前正在运行的 Java 虚拟机 非 0 的状态码表示异常终止
String getProperty(String key) : 获取系统属性
key:
Java的运行环境版本 :java.version
Java的安装路径:java.home
操作系统的名称:os.name
用户的当前工作目录:user.dir
8.java.math.BigDecimal
作用:
进行精确的运算。
直接使用double值进行计算存在精度缺失的问题
System.out.println(1.1-0.2);
BigDecimal类构造器:
BigDecimal(String val) :将 String 转换为 BigDecimal类型
常用方法:
加法: add(BigDecimal)
减法: subtract(BigDecimal)
乘法: multiply(BigDecimal)
除法: divide(BigDecimal)
BigDecimal对象如何转换成基本数据类型值?
9.java.time.LocalTime
作用:
LocalTime是一个不可变的日期时间对象,代表一个时间,通常被看作是时分秒
常用静态方法:
LocalTime now() :获取当前时间对象。
LocalTime of(int hour, int minute) :从小时分钟获取一个LocalTime的实例
字符串与LocalTime的转换
String toString() :将此日期输出为字符串类型
parse(CharSequence text) :从一个文本字符串,如 10:15获取一个 LocalTime的实例
parse(CharSequence text, DateTimeFormatter formatter) :使用特定的格式化 LocalTime从文本字符串获取 LocalTime的实例
常用非静态方法:
int getHour():获取小时字段,时间从0到23
int getMinute(): 获取分钟字段。时间从0到59
10.java.time.LocalDate
作用:
LocalDate是一个不可变的日期时间对象,表示日期,通常被视为年月日。
常用静态方法:
LocalDate now() :获取当前日期对象
LocalDate of(int year, int month, int dayOfMonth) :从年,月和天三个参数获得一个LocalDate的实例
字符串与LocalDate的转换。
String toString() :将此日期输出为字符串类型,如 2007-12-03
LocalDate parse(CharSequence text) :从一个文本字符串,如 2007-12-03获取一个 LocalDate的实例
LocalDate parse(CharSequence text, DateTimeFormatter formatter) :使用特定格式化 LocalDate从文本字符串获取 LocalDate的实例
常用非静态方法:
int getYear():获取年份值。
int getMonthValue(): 获取月份值。
11.java.time.LocalDateTime
作用:
LocalDateTime是一个不可变的日期时间对象,代表日期时间,通常被视为年 - 月 - 日 - 时 - 分 - 秒
常用静态方法:
LocalDateTime now():获取当前的日期时间
LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute):从年,月,日,小时和分钟获得 LocalDateTime的实例,将秒和纳秒设置为零。
字符串与LocalDate的转换。
String toString() :将此日期时间输出为 String ,例如 2007-12-03T10:15:30
LocalDateTime parse(CharSequence text):从一个文本字符串(如 2007-12-03T10:15:30获取一个 LocalDateTime的实例
LocalDateTime parse(CharSequence text, DateTimeFormatter formatter):使用特定的格式化 LocalDateTime从文本字符串获取 LocalDateTime的实例。
常用非静态方法:
LocalDate toLocalDate():获得这个日期时间的 LocalDate一部分
LocalTime toLocalTime():获得这个日期时间的 LocalTime一部分。