【JavaSE】Java常用类
Java常用类
- 字符串相关:String、 StringBuffer、 StringBuilder
- 包装类:Integer等
- 日期相关: Date、 Calendar、 SimpleDateFormat
- 其他:Math、Random、Runtime、System
String类
创建方式1:赋值常量
1 | String str = "hello word"; |
使用双引号括起来的内容叫字符串常量值,字符串常量值分配在方法区的常量池中。
常量池的好处:
- 节约内存,反复使用,不需要重新分配
- 性能高,直接调用,省去创建对象的时间
通过字节数组创建字符串
1 | String(byte[] bytes,String charset) |
通过字符数组创建字符串
1 | String(char[] chars) |
String常用方法
获得字符串长度
1 | int length(); |
获得子字符串出现的位置
1 | int indexOf(String s); |
在字符串中查找子字符串第一次出现的位置,没找到返回-1;
1 | int indexOf(String s,int start); |
指定了开始查找的位置
1 | int lastIndexOf(String s); |
截取字符串
1 | String substring(int start,int end); |
替换
1 | String replace(String oldStr,String newStr); |
比较字符串内容
1 | // 是否完全相同 |
大小写转换
1 | String toUpperCase(); // 大写 |
去左右空格
1 | String trim(); |
拆分字符串
1 | // 注意:某些特殊符号分割符需要进行转义,如:\\+ |
StringBuilder类
如果字符串变量需要频繁修改,就会创建大量字符串对象,大量消耗内存空间。
为了解决这个问题,可以使用StringBuilder。
String和StringBuilder的区别:
- String的字符串是不可修改,如果修改会创建新字符串,浪费内存。
- StringBuilder的字符串是可以修改的,不会创建新字符串。
创建方法:
1 | // 创建空值的对象 |
StringBuilder常用方法
转换为String
1 | String toString(); |
追加
1 | StringBuilder append(String str); |
替换
1 | StringBuilder replace(int start,int end,String newS); |
插入
1 | StringBuilder insert(int offset,String s); |
删除
1 | StringBuilder delete(int start,int end); |
反转
1 | StringBuilder reverse(); |
StringBuffer类
StringBuffer的特点和StringBuilder相似,都是在自身的数组上进行的修改,常用方法也一样。
不同点:
- StringBuffer的方法是线程安全的,StringBuilder是非线程安全
- StringBuilder的执行效率高于StringBuffer
包装类
基本类型 | 包装类 |
---|---|
int | Integer |
byte | Byte |
short | Short |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
创建方法
1 | Integer num1 = 1000; |
Date类
处理日期时间
创建方法1:
1 | // 获得当前的时间 |
创建方法2:
1 | // 指定时间的1900-1-1到现在的毫秒数 |
常用方法
1 | int getYear(); // 获得年 |
Calendar 类
日历类可以获得和修改日期的某个部分
创建Calendar对象
1 | Calendar calendar = Calendar.getInstance(); |
常用方法:
1 | get(日期类型) // 获得日期的某个部分 |
SimpleDateFormat类
对日期进行格式化
创建对象
1 | SimpleDateFormat sdf = new SimpleDateFormat("日期格式字符串"); |
1 | String format(Date对象); |
将字符串转换为日期
1 | Date parse(String对象); |
Math类
数学运算
作用 | 用法 |
---|---|
求绝对值 | Math.abs(-10) --> 10 |
四舍五入取整 | Math.round(2.6) --> 3 |
求两个数最大值 | Math.max(2,10) --> 10 |
求两个数最小值 | Math.min(2,10) --> 2 |
随机数 | Math.random() --> 0 ~ 1之间任意小数 |
求平方根 | Math.sqrt(16) – > 4 |
求幂 | Math.pow(2,3) – > 8 |
Random类
获得随机数
1 | Random random = new Random(); |
Runtime类
系统运行时,获得和系统有关的信息
1 | Runtime rt = Runtime.getRuntime(); |
作用 | 用法 |
---|---|
freeMemory() | 获得系统空闲内存数 |
totalMemory() | 获得总内存数 |
availableProcessors() | 获得处理器个数 |
gc() | 调用垃圾收集器 |
exec(String cmd) | 调用系统程序 |
exit(int status) | 退出系统 |
PS:GC(Garbege Collector)垃圾收集器,JVM会单独开一线程,定时扫描内存中没有使用的对象。
GC的启动没有特定的时间,如果想唤醒GC,可以调用gc方法。
1 | String s = new String("xxxx"); //新的String对象 |
System类
作用 | 用法 |
---|---|
currentTimeMillis() | 获得当前系统时间的毫秒数 |
gc() | 调用垃圾收集器 |
exit(int status) | 退出系统 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hey,Joker!
评论
ValineTwikoo