Java基础学习(九):常用API
- Java基础学习(九):常用API
- Math
- System
- Runtime
- Object
- Objects
- BigInteger
- BigDecimal
- 正则表达式
- Pattern 和 Matcher
- 时间相关类
- 包装类
本文为个人学习记录,内容学习自 黑马程序员
Math
-
路径:
java.lang.Math
-
是一个用于帮助我们进行数学计算的工具类
-
常用方法(省略了重载的方法):
方法名 说明 public static int abs(int a) 获取参数绝对值 public static double ceil(double a) 向上取整 public static double floor(double a) 向下取整 public static int round(float a) 四舍五入 public static int max(int a, int b) 获取两个int值中的较大值 public static double pow(double a, double b) 返回a的b次幂的值 public static double sqrt(double a) 获取平方根值 public static double random() 返回值为double的随机值,范围[0.0, 1.0)
System
-
路径:
java.lang.System
-
是一个提供了一些与系统相关方法的工具类
-
常用方法:
方法名 说明 public static void exit(int status) 终止当前运行的 java 虚拟机 public static long currentTimeMillis() 返回当前系统的时间(ms) public static void arraycopy(数据源数组, 起始索引, 目的地数组, 起始索引, 拷贝个数) 数组拷贝 -
示例:
// status:状态码 System.exit(0); // 状态码为0,表示程序正常停止 System.exit(1); // 状态码非0,表示程序异常停止
int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int[] arr2 = new int[10]; System.arraycopy(arr1, 0, arr2, 0, arr1.length); // 数组拷贝
-
注意事项:
- 如果数据源数组和目的地数组都是基本数据类型,那么二者的类型必须保持一致,否则会报错
- 如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型
- 在拷贝时需要考虑数组的长度,如果超出范围也会报错
Runtime
-
路径:
java.lang.Runtime
-
有很多非静态的方法,需要创建对象才能使用
-
常用方法:
方法名 说明 public static Runtime getRuntime() 当前系统的运行环境对象 public void exit(int status) 停止虚拟机 public int availableProcessors() 获得 CPU 的线程数 public long maxMemory() JVM 能从系统中获取的总内存大小(单位:byte) public long totalMemory() JVM 已经从系统中获取的总内存大小(单位:byte) public long freeMemory() JVM 剩余内存大小(单位:byte) public Process exec(String command) 运行 cmd 命令 -
示例:
// 1.创建对象 Runtime r = new Runtime(); // 错误用法,Runtime类中将构造函数私有化了 Runtime r1 = Runtime.getRuntime(); // 正确用法 Runtime r2 = Runtime.getRuntime();// 2.使用方法 System.out.println(r1.availableProcessors()); System.out.println(r1.maxMemory() / 1024 / 1024); // 由于单位是byte,通常转换成MB System.out.println(r1.totalMemory() / 1024 / 1024); System.out.println(r1.freeMemory() / 1024 / 1024);
-
注意事项:
System.exit 底层调用的就是 Runtime 里的 exit()
Object
-
路径:
java.lang.Object
-
Object 是 Java 中的顶级父类,所有的类都直接或间接地继承于 Object 类
-
构造方法:只有空参构造
-
常用方法:
方法名 说明 public String toString() 返回对象的字符串表示形式 public boolean equals(Object obj) 比较两个对象是否相等 protected Object clone() 对象克隆(浅克隆) -
示例:
package com.victoria.demo;public class Test {public static void main(String[] args) {Student s = new Student();System.out.println(s.toString()); // 输出为 "com.victoria.demo.Student@1b6d3586"} }class Student {}
package com.victoria.demo;public class Test {public static void main(String[] args) {Student s1 = new Student();Student s2 = new Student();boolean result = s1.equals(s2); // Object类的equals方法比较的是两个对象的地址值System.out.println(result); // 输出为 false} }class Student {}
package com.victoria.demo;// Cloneable接口中没有任何的抽象方法,这种接口称为标记性接口,标记当前类的对象可被克隆 // 步骤二:实现Cloneable接口 public class Demo implements Cloneable {public static void main(String[] args) throws CloneNotSupportedException {// 步骤三:创建原对象并调用clone方法Demo d = new Demo();Demo d2 = (Demo) d.clone(); // 要注意clone返回值是Object类,需要强转}// 步骤一:重写Object中的clone方法@Overrideprotected Object clone() throws CloneNotSupportedException {// 调用父类中的clone方法return super.clone();} }
-
注意事项:
- 使用 toString() 方法输出的是 "包名+类名+@+地址值" 的格式,如果需要输出属性值等自定义内容,需要在子类中重写 toString
- 使用 equals() 方法比较的是对象的地址值,如果有其他需求需要自己重写
- 使用 clone() 方法时,由于该方法是使用 protected 修饰的,如果不在子类中进行重写的话那么该子类的 clone() 方法仅在 java.lang 包中以及当前子类中可见,第三方类例如测试类是无法访问的,因此必须进行重写
- Object 中的 clone() 方法是浅克隆,如果需要进行深克隆需要在子类中重写或是使用第三方工具类
- 对象克隆:
- 浅克隆:不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来
- 深克隆:如果是基本数据类型会直接拷贝,如果是字符串会复用,如果是引用数据类型会重新创建新的
Objects
-
路径:
java.util.Objects
-
Objects 是一个工具类,提供了一些方法去完成一些功能
-
常用方法:
方法名 说明 public static boolean equals(Object a, Object b) 先做非空判断,再比较两个对象 public static boolean isNull(Object obj) 判断对象是否为 null,为 null 返回 true public static boolean nonNull(Object obj) 判断对象是否为 null,为 null 返回 false -
注意事项:
- 使用 equals() 方法时,底层实现为
return (a == b) || (a != null && a.equals(b));
相较于 Object 类中的 equals() 方法,该方法支持比较对象中存在 null,且两个 null 对象进行比较时返回 true,一个为 null 另一个不为 null 时返回 false,除此之外,方法的底层仍是调用 Object 类中的 equals() 方法实现的比较,因此比较内容取决于类对于 equals() 方法的重写 - isNull() 方法和 nonNull() 方法完全相反
- 使用 equals() 方法时,底层实现为
BigInteger
-
路径:
java.math.BigInteger
-
能表示大范围的整数,常用于表示 long 类型也无法表示的大整数
-
构造方法:
构造方法 说明 public BigInteger(int num, Random rnd) 获取随机大整数,范围:[0 ~ 2的num次方-1] public BigInteger(String val) 获取指定的大整数 public BigInteger(String val, int radix) 获取指定进制的大整数 -
常用方法:
方法名 说明 public static BigInteger valueOf(long val) 使用静态方法获取 BigInteger 的对象,内部有优化 public BigInteger add(BigInteger val) 加法 public BigInteger substract(BigInteger val) 减法 public BigInteger multiply(BigInteger val) 乘法 public BigInteger divide(BigInteger val) 除法,获取商 public BigInteger[] divideAndRemainder(BigInteger val) 除法,获取商和余数(0索引是商,1索引是余数) public boolean equals(Object x) 比较是否相同 public BigInteger pow(int exponent) 次幂 public BigInteger max/min(BigInteger val) 返回较大值/较小值 public int intValue(BigInteger val) 转为 int 类型整数,超出范围数据有误 public int longValue(BigInteger val) 转为 long 类型整数,超出范围数据有误 -
示例:
BigInteger bd1 = new BigInteger(4, new Random()); BigInteger bd2 = new BigInteger("100"); BigInteger bd3 = new BigInteger("100", 2); BigInteger bd4 = BigInteger.valueOf(100);
-
注意事项:
- 指定字符串获取对应大整数时,字符串中不能是小数,也不能含有字符
- 使用静态方法 valueOf() 获取 BigInteger 的对象时,表示范围只能在 long 类型的范围内
- 虽然使用静态方法 valueOf() 获取 BigInteger 的对象表示范围比较小,但其内部对常用的数字(-16 ~ 16)进行了优化,比如创建两个大整数存储 16 时,使用这种方法创建的两个 BigInteger 对象的地址会是相同的
- 对于 long 类型范围内的数据,建议使用 valueOf() 方法创建对象,否则用构造方法创建对象
- BigInteger 对象一旦创建,内部记录的值不能发生改变,也因此参与运算后一般会产生一个新的 BigInteger 对象
- 使用 max/min() 方法比大小时,是将较大数/较小数直接返回,不会产生新对象,也就是说返回值和较大数/较小数的地址相同
BigDecimal
-
路径:
java.math.BigDecimal
-
可以用于表示很大的小数,也能用于小数的精确计算
-
构造方法:
构造方法 说明 public BigDecimal(double val) 使用 double 类型获得 BigDecimal 对象,可能不准确 public BigDecimal(String val) 使用 String 类型获得 BigDecimal 对象,准确 -
常用方法:
方法名 说明 public static BigDecimal valueOf(double val) 使用静态方法获取 BigDecimal 的对象,准确 public BigDecimal add(BigDecimal val) 加法 public BigDecimal substract(BigDecimal val) 减法 public BigDecimal multiply(BigDecimal val) 乘法 public BigDecimal divide(BigDecimal val) 除法,不能用于除不尽的情况 public BigDecimal divide(BigDecimal val, 精确几位, 舍入模式) 除法,能用于除不尽的情况 -
示例:
BigDecimal bd1 = new BigDecimal(0.01); BigDecimal bd2 = new BigDecimal("10.0"); BigDecimal bd3 = BigDecimal.valueOf(3.0); BigDecimal bd4 = bd2.divide(bd3, 2, RoundingMode.HALF_UP); // 结果为 3.33,第二个参数为小数点精确位数,第三个参数表明采用四舍五入作为舍入模式
-
注意事项:
- 指定字符串获取对应小数时,字符串中不能含有字符
- 使用静态方法 valueOf() 获取 BigDecimal 的对象时,表示范围只能在 double 类型的范围内
- 虽然使用静态方法 valueOf() 获取 BigDecimal 的对象表示范围比较小,但其内部对常用的数字(0 ~ 10的整数)进行了优化,比如创建两个对象存储 10 时,使用这种方法创建的两个 BigDecimal 对象的地址会是相同的
- 对于 double 类型范围内的数据,建议使用 valueOf() 方法创建对象,否则用构造方法创建对象
- BigDecimal 对象一旦创建,内部记录的值不能发生改变,也因此参与运算后一般会产生一个新的 BigDecimal 对象
正则表达式
-
作用:可以用于校验字符串是否满足规则,也能用于在一段文本中查找满足要求的内容
-
规则:
符号 含义 [] 里面的内容出现一次 () 分组 ^ 取反 && 交集,不能写单个& | 写在方括号外面时表示并集 \ 转义字符 字符类(只匹配一个字符) 说明 [abc] 只能是a,b或c [^abc] 除了a,b,c之外的任何字符 [a-zA-z] a到z,A到z(包含头、尾) [a-d[m-p]] a到d,或m到p [a-z&&[def]] a到z和d,e,f的交集(为d,e,f) 预定义字符(只匹配一个字符) 说明 . 任何字符(除了 \n) \d 一个数字:[0-9] \D 非数字:[^0-9] \s 一个空白字符:[\t\n\x0B\f\r] \S 非空白字符:[^\s] \w 英文、数字、下划线:[a-zA-Z_0-9] \W 一个非单词字符:[^\w] 任意字符+数量词 说明 X? X,一次或零次 X* X,零次或一次或多次 X+ X,一次或多次 X X,正好n次 X X,至少n次 X X,至少n次但不超过m次 -
正则表达式在 String类 中的使用:
方法名 说明 public boolean matches(String regex) 判断字符串是否满足正则表达式的规则 public String replaceAll(String regex, String newStr) 按照正则表达式的规则进行替换 public String[] split(String regex) 按照正则表达式的规则切割字符串 -
注意事项:
-
一个方括号括起来的内容只能匹配一个字符,并且从左到右逐个匹配,如果数量不匹配则直接返回 false
System.out.println("ab".matches("[abc]")); // 输出为 false
-
如果要匹配的字符是明确的也可以省略方括号
System.out.println("ab".matches("a[abc]")); // 输出为 true
-
由于 "\" 在 Java 中表示转义符,因此使用预定义字符时需要有两个斜杠
System.out.println("6".matches("\\d")); // 输出为 true
-
数量词可以和字符类表达式结合使用,用于一次性匹配多个字符
System.out.println("6fsaqdasc".matches("\\w{5,}")); // 输出为 true
-
忽略大小的的书写方法
System.out.println("aBc".matches("(?i)abc")); // 输出为 true
-
Pattern 和 Matcher
-
路径:
java.util.regex.Pattern
和java.util.regex.Matcher
-
Pattern:正则表达式对象
-
Matcher:文本匹配器,能够按照正则表达式的规则从头开始读取字符串,从大串中寻找符合规则的子串
-
作用:用于爬取数据
-
示例:从文本中筛选出 JavaXX 构成的字符串
String str = "Java自从95年问世以来,经历了很多版本,目前用的最多的是Java8和Java11"; // 要搜寻的大串 Pattern p = Pattern.compile("Java\\d{0,2}"); // 创建正则表达式对象 Matcher m = p.matcher(str); // 创建文本匹配器对象 // find()方法:当文本中找得到匹配的字符串时返回true,并记录位置,否则返回false while (m.find()) { // 一次只找一个,需要循环// group()方法:根据上一步记录的字符串位置截取出匹配的字符串String s = m.group();System.out.println(s); }
-
"?" 占位符的使用:
- "?=" ——
String regex = "Java(?=8|11|17)"
使用该正则表达式,可以筛选出 "Java8","Java11","Java17" 的字符串,但是只截取其中的 "Java" - "?:" ——
String regex = "Java(?:8|11|17)"
使用该正则表达式,可以筛选出 "Java8","Java11","Java17" 的字符串 - "?!" ——
String regex = "Java(?!8|11|17)"
使用该正则表达式,可以筛选出 "Java8","Java11","Java17" 以外的带 "Java" 的字符串
- "?=" ——
-
贪婪爬取 和 非贪婪爬取:
-
贪婪爬取:在爬取数据的时候尽可能多地获取数据
-
非贪婪爬取:在爬取数据的时候尽可能少地获取数据
-
在 Java 中,默认是贪婪爬取;如果在数量词后面加上 "?" ,那么此时就是非贪婪爬取
String str = "abbbbbbbbbbbbbbbbbbbaaaaaaaaa"; String regex1 = "ab+"; // 默认是贪婪爬取 String regex2 = "ab+?"; // 加上 "?" 变成非贪婪爬取 Pattern p1 = Pattern.compile(regex1); Pattern p2 = Pattern.compile(regex2); Matcher m1 = p1.matcher(str); Matcher m2 = p2.matcher(str); m1.find(); m2.find(); System.out.println(m1.group()); // 输出为 "abbbbbbbbbbbbbbbbbbb" System.out.println(m2.group()); // 输出为 "ab"
-
-
捕获分组 和 非捕获分组:
-
分组的定义:正则表达式使用小括号进行分组,每组都有组号,以左括号为基准,最左边的是第一组,其次是第二组,依次类推。例如(\\d+(\\d))(\\d?) 这个例子中第一组为 (\\d+(\\d)),第二组为(\\d),第三组为(\\d?)
-
捕获分组:将某一组数据再用一次,正则内部使用:
\\组号
,正则外部使用:$组号
// 示例一:要实现字符串首字符和尾字符是否相同的判断 // 这个正则表达式规定了字符串的第一个字符必须要和最后一个字符一致 String regex = "(.).+\\1"; System.out.println("a123a".matches(regex)); // 输出为 true// 示例二:要剔除字符串中连续出现多次的相同字符 // replaceAll()方法的第一个参数使用捕获分组得到连续重复字符的表示,第二个参数使用捕获到的分组实现替换 String newStr = "abbbbbbbbcccccccccc".replaceAll("(.)\\1+", "$1"); System.out.println(newStr); // 输出为 "abc"
-
非捕获分组:分组之后不需要再用本组数据,仅仅是为了把数据括起来,不会占用组号
符号 含义 举例 (?:正则) 获取所有 Java(?:8|11) ==> Java8,Java11都行,输出 Java8,Java11 (?=正则) 获取前面部分 Java(?=8|11) ==> Java8,Java11都行,输出 Java (?!正则) 获取不是指定内容的前面部分 Java(?!8|11) ==> Java8,Java11以外,输出 Java -
总结:默认情况下使用小括号括起来的内容称为捕获分组,该内容可以被反复使用;如果不希望反复使用该内容,仅仅是为了将内容括起来,可以采用 "?" 将其定义为非捕获分组
-
时间相关类
-
JDK8 之前采用的时间相关类:Date,SimpleDateFormat,Calendar
-
JDK8 新增的时间相关类:ZoneId,Instant,ZonedDateTime,DataTimeFormatter,LocalDate,LocalTime,LocalDateTime,Duration,Period,ChronoUnit
-
JDK8 新增时间类相较于之前,不仅代码层面更简单了,安全性也更强,他创建的时间对象都是不可变的,这样就避免了多线程下可能存在的数据安全问题,也因此对它的时间进行修改时会产生一个新的对象而原对象不会发生改变
-
时间相关知识点:
- 世界标准时间:以前采用格林尼治时间/格林威治时间,简称 GMT,但由于存在误差目前已替换成由原子钟计时的 UTC
- 中国标准时间:位于东八区,时间为标准时间+8小时
-
Date 类
-
路径:
java.util.Date
-
Date 类是 Java 已经写好的 Javabean 类,用来描述时间,精确到毫秒
-
利用空参构造创建的对象默认表示系统当前时间,利用有参构造创建的对象表示指定时间
-
构造方法:
构造方法 说明 public Date() 创建 Date 对象,表示当前时间 public Date(long date) 创建 Date 对象,表示指定时间(相对于1970.1.1 8:00:00) -
常用方法:
方法名 说明 public void setTime(long time) 设置/修改毫秒值 public long getTime() 获取事件对象的毫秒值
-
-
SimpleDateFormat 类
-
路径:
java.text.SimpleDateFormat
-
作用:能将时间变成易于理解的格式,例如2025-11-11;也能用于将字符串表示的时间变成 Date 对象
-
格式化的时间形式的常用模式对应关系:
年 月 日 时 分 秒 表示 y M d H m s 例如:要表示 "2025-11-11 12:00:00" 的指定格式为 "yyyy-MM-dd HH:mm:ss"
-
构造方法:
构造方法 说明 public SimpleDateFormat() 创建 SimpleDateFormat 对象,使用默认格式 public SimpleDateFormat(String pattern) 创建 SimpleDateFormat 对象,使用指定格式 -
常用方法:
方法名 说明 public final String format(Date date) 格式化(日期对象 -> 字符串) public Date parse(String source) 解析(字符串 -> 日期对象)
-
-
Calendar 类
-
路径:
java.util.Calendar
-
Calendar 代表了系统当前时间的日历对象,可以单独修改、获取时间中的年、月、日
-
注意:Calendar 是一个抽象类,不能直接创建对象,应该通过静态方法 getInstance() 获取对象
-
常用方法:
方法名 说明 public static Calendar getInstance() 获取当前时间的日历对象 public final Date getTime() 获取日期对象 public final setTime(Date date) 给日历设置日期对象 public long getTimeInMillis() 拿到时间毫秒值 public void setTimeInMillis(long millis) 给日历设置时间毫秒值 public int get(int field) 取日历中的某个字段信息 public void set(int field, int value) 修改日历的某个字段信息 public void add(int field, int amount) 为某个字段增加/减少指定的值 -
注意事项:
-
在日历对象中,月份用011表示1月12月,星期用17表示星期日星期六
-
字段的索引:可以使用数字,也可以用 Calendar 预先定义好的常量
年 月 日 星期 数字索引 1 2 5 7 预定义常量 YEAR MONTH DATE/DAY_OF_MONTH DAY_OF_WEEK
-
-
-
ZoneId 类
-
路径:
java.time.ZoneId
-
常用方法:
方法名 说明 static Set<String> getAvailableZoneIds() 获取 Java 中支持的所有时区 static ZoneId systemDefault() 获取系统默认时区 static ZoneId of(String zoneId) 获取一个指定时区
-
-
Instant 类
-
路径:
java.time.Instant
-
常用方法:
方法名 说明 static Instant now() 获取当前时间的 Instant 对象(标准时间,不带时区) static Instant ofXxx(long epochMillis) 根据(秒/毫秒/纳秒)获取 Instant 对象,相对于 1970.1.1 00:00:00 ZoneDateTime atZone(ZoneId zone) 指定时区 boolean isXxx(Instant otherInstant) 判断系列的方法 Instant minusXxx(long millisToSubtract) 减少时间系列的方法 Instant plusXxx(long millisToSubstract) 增加时间系列的方法 -
注意事项:
- 上面方法中的 Xxx 表示存在多种方法,例如 ofEpochMilli 根据毫秒获取对象,ofEpochSecond 根据秒获取对象
- 由于 JDK8 中的时间对象无法进行修改,因此上面的减少/增加操作都会产生一个新的对象
-
-
ZonedDateTime 类
-
路径:
java.time.ZonedDateTime
-
常用方法:
方法名 说明 static ZonedDateTime now() 获取当前时间的 ZonedDateTime 对象(带时区) static ZonedDateTime ofXxx(多种用法) 获取指定时间的 ZonedDateTime 对象 ZonedDateTime withXxx(时间) 修改时间系列的方法 ZonedDateTime minusXxx(时间) 减少时间系列的方法 ZonedDateTime plusXxx(时间) 增加时间系列的方法 -
注意事项:
- 上面方法中的 Xxx 表示存在多种方法
- 由于 JDK8 中的时间对象无法进行修改,因此上面的修改/减少/增加操作都会产生一个新的对象
-
-
DateTimeFormatter 类
-
路径:java.time.format.DateTimeFormatter
-
常用方法:
方法名 说明 static DateTimeFormatter ofPattern(格式) 获取格式对象 String format(时间对象) 按照指定方式格式化
-
-
LocalDate LocalTime LocalDateTime 类
-
路径:
java.time.LocalDate
,java.time.LocalTime
,java.time.LocalDateTime
-
LocalDate:包含年、月、日信息
-
LocalTime:包含时、分、秒信息
-
LocalDateTime:包含年、月、日、时、分、秒信息
-
此处的月份就不像 Calendar 中是 0~11 了,是符合直觉的 1~12
-
常用方法:
方法名 说明 static XXX now() 获取当前时间的日历对象 static XXX of() 获取指定时间的日历对象 get开头的方法 获取日历中的年、月、日、时、分、秒等信息 isBefore,isAfter 比较时间系列的方法 with开头的 修改时间系列的方法 minus开头的 减少时间系列的方法 plus开头的 增加时间系列的方法 public LocalDate toLocalDate() LocalDateTime 转换成一个 LocalDate 对象 public LocalTime toLocalTime() LocalDateTime 转换成一个 LocalTime 对象
-
-
Duration Period ChronoUnit 类
-
路径:
java.time.Duration
,java.time.Period
,java.time.temporal.ChronoUnit
-
Duration:表示时间间隔(时,分,秒)
-
Period:表示时间间隔(年,月,日)
-
ChronoUnit:表示时间间隔(年,月,日,时,分,秒等时间信息)
-
示例:计算两个日期间隔了多少天
LocalDate ld1 = LocalDate.of(2000, 1, 1); LocalDate ld2 = LocalDate.of(2025, 1, 1); long days = ChronoUnit.DAYS.between(ld1, ld2);
-
包装类
-
包装类就是用一个对象把基本数据类型给包装起来,每个基本数据类型都对应一个包装类
基本数据类型 对应的包装类 byte Byte short Short char Character int Integer long Long float Float double Double boolean Boolean -
Integer 类
-
获取 Integer 对象的方式:
-
JDK5 之前(了解):
方法名 说明 public Integer(int value) 构造方法,根据传递的整数创建一个 Integer 对象 public Integer(String s) 构造方法,根据传递的字符串创建一个 Integer 对象 public static Integer valueOf(int i) 静态方法,根据传递的整数创建一个 Integer 对象 public static Integer valueOf(String s) 静态方法,根据传递的字符串创建一个 Integer 对象 public static Integer valueOf(String s, int radix) 静态方法,根据传递的字符串和进制创建一个 Integer 对象 注意:使用静态方法创建对象时,会对-128 ~ 127内的整数对象进行优化,提前创建好对象并复用,以节约内存
-
JDK5 进行了改进:自动装箱 —— 在赋值时能够自动将基本数据类型转换成对应的包装类;自动拆箱 —— 在数值计算时能够自动将包装类转换成基本数据类型再计算
Integer i1 = 10; // 在底层会自动调用 valueOf 创建对象 Integer i2 = 5; Integer i3 = i1 + i2;
-
-
常用成员方法:
方法名 说明 public static String toBinaryString(int i) 得到二进制表示的字符串 public static String toOctalString(int i) 得到八进制表示的字符串 public static String toHexString(int i) 得到十六进制表示的字符串 public static int parseInt(String s) 将字符串类型的整数转换成 int 类型的整数
-
-
其他包装类:和 Integer 类似,但要注意 Character 类中是没有 parseInt() 方法的