JavaSE中级之Java常用的类
Java常用的类一
包装类
什么是包装类
- 将基本数据类型进行封装,产生的新的类
- 包装类是个引用数据类型
- 对应关系
基本数据类型 | 对应包装类 | 继承关系 |
---|---|---|
byte | Byte | Number.Object |
short | Short | Number.Object |
int | Integer | Number.Object |
long | Long | Number.Object |
float | Float | Number.Object |
double | Double | Number.Object |
char | Charcter | Object |
boolean | Boolean | Object |
为什么会有包装类
- Java语言是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型
- 包装类相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作
包装类常用属性和构造器
以Integer为例
-
直接使用无需导包
-
继承关系
- Integer继承自Number,Number继承自Object
-
实现接口类
- Serializable
- Comparable
-
被final修饰不有子类,也就不能被继承
-
包装类是对基本数据类型的封装
-
Integer是对基本数据类型int进行封装所产生的类
-
属性
System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); System.out.println(Integer.MAX_VALUE+1); System.out.println(Integer.MIN_VALUE-1);
-
构造器
- 没有空参构造器
包装类的特殊机制——自动装箱,自动拆箱
-
JDK1.5之后的新特性
-
将基本数据类型与包装类进行快速的类型转换
//自动装箱 int转Integer Integer i = 22; System.out.println(i); //自动拆箱 Integer转int int i1 = new Integer(22); int num = i1; System.out.println(num);
包装类常用方法
日期类
java.util.Date
-
获取时间差建议使用currentTimeMillis
-
Date date = new Date(); System.out.println(date); System.out.println(date.toString()); System.out.println(date.toGMTString()); System.out.println(date.toLocaleString()); System.out.println(date.getYear());//1900年到现在过了多少年 System.out.println(date.getMonth());//返回0到11之间的数,0代表1月份,后面的以此类推 //获取时间差 //获取时间差建议使用currentTimeMillis System.out.println(date.getTime());//返回1970年1月1日0点0分0秒到现在的毫秒数 System.out.println(System.currentTimeMillis());//这个方法是静态的可以直接调用
java.sql.Date
-
java.util.Date 与 java.sql.Date 的区别
- java.util.Date 有年月日时分秒
- java.sql.Date 只有年月日
-
java.util.Date 与 java.sql.Date 的联系
- 是父类和子类的关系
- java.sql.Date是子类,继承java.util.Date这个父类
-
java.util.Date 与 java.sql.Date 的相互转换
-
util转sql
-
利用构造器
//创建util.Date对象 java.util.Date date = new Date(1567434342L); Date date1 = new Date(date.getTime());
-
向下转型
Date date2 = (Date) date;
-
-
sql转util
java.util.Date date3 = da;
-
-
String 转 sql.Date
Date date4 = Date.valueOf("2022-10-15");
SimpleDateFormat
-
SimpleDateFormat 是 DateFormat的子类,SimpleDateFormat 继承自DateFormat
/* //这种方法会报错,有局限性 //1.讲String转换为java.sql.Date java.sql.Date date = java.sql.Date.valueOf("2022-10-15"); //2.讲java.sql.Date转换为java.util.Date java.util.Date date1 = date;*/ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date date = dateFormat.parse("2022-10-15 15:45:36"); System.out.println(date); } catch (ParseException e) { e.printStackTrace(); } String met = dateFormat.format(new Date()); System.out.println(met);
Calendar
- Calendar是一个抽象类,不能直接创建对象
JDK1.8新增日期类
LocalDate,LocalTime,LocalDateTime
now()方法
- LocalDate.now() 获取当前日期
- LocalTime.now() 获取当前时间
- LocalDateTime.now() 获取当前日期+时间
of()方法
- LocalDate.of() 设置当前日期
- LocalTime.of() 设置当前时间
- LocalDateTime.of() 设置当前日期+时间
get方法 :得到
with方法 :更改时间
DateTimeFormatter
- 格式转换类
Math类
- 被final修饰,不能被继承
- 构造器私有化不能创建对象
- 所有属性和方法都被static修饰,可以通过类名直接调用,不需要创建对象
Random类
- 随机数
- 表面是调用无参构造器其实调用的是带有参数的构造器
不可变字符串类型:String类
- 本身就是一个char类型的数组
length()
- 返回字符串长度
isEmpty()
- 判断字符串是否为空
charAt()
- 返回当前数组当前下标所对应的值
equals()
compareTo()
- 进行字符串的差值比较
substring()
- 对字符串进行截取
replace()
- 对字符串中的进行字符替换
split()
- 按照指定格式对字符串进行分离
toUpperCase()
- 大小写转换
trim()
- 去除首位空格
可变字符串:StringBuilder
可变与不可变的含义
- 不可变
- 在地址不改变的情况下,想要把一个字符串变成另外一个字符串是不能的
本文来自博客园,作者:{oy},转载请注明原文链接:https://www.cnblogs.com/Oysen/p/17005585.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具