寒假Day42:JAVA-OOP-java核心类
-
string名字+‘toUpperCase()’:全变大写
-
两个字符串比较,必须总是使用
equals()
方法:s1.equals(s2) -
要忽略大小写比较,使用
equalsIgnoreCase()
方法。 -
判断是否包含子串:"s1内容".contains("s2内容")
-
第一个匹配项位置:"s1内容".indexOf("s2内容")
-
最后一个匹配项位置:"s1内容".lastIndexOf("s2内容")
-
提取子串:"s1内容".substring(...) 括号里面可以填开始位置或者起始位置(中间逗号隔开)
-
空白字符:空格、
\t、
\r、
\n
中文的空格字符:\u3000
-
要把字符串转换为其他类型,就需要根据情况。例如,把字符串转换为
int
类型int n1 = Integer.parseInt("123"); // 123 int n2 = Integer.parseInt("ff", 16); // 按十六进制转换,255
-
要把任意基本类型或引用类型转换为字符串,可以使用静态方法
valueOf
String.valueOf(678); // "678"
-
java标准库提供了
StringBuilder
,往StringBuilder
中新增字符时,不会创建新的临时对象;还可以进行链式操作。 -
引用类型:所有
class
和interface
类型;引用类型可以赋值为null
,表示空,但基本类型不能赋值为null。
- 自动拆箱执行时可能会报
NullPointerException。
-
创建新对象时,优先选用静态工厂方法(节省内存)而不是new操作符。
- 静态方法
parseInt()
可以把字符串转换成一个整数
int x1 = Integer.parseInt("100"); // 100 int x2 = Integer.parseInt("100", 16); // 256 按16进制 System.out.println(Integer.toString(100)); //10进制 System.out.println(Integer.toHexString(100)); // 16进制 System.out.println(Integer.toOctalString(100)); // 8进制 System.out.println(Integer.toBinaryString(100)); // 转换成2进制
-
java中,没有无符号整型(Unsigned)的基本数据类型,最高位是符号位。
- 定义枚举类:通过关键字
enum
实现。 -
引用类型比较,要始终使用
equals
方法,但enum
类型可以直接使用==比较。 -
java.math.BigInteger:
表示任意大小的整数。BigInteger
内部用int
数组来模拟一个非常大的整数,它没有范围限制,但是速度比较慢。 -
将
BigInteger
转换成基本类型时可使用longValueExact()、intValueExact()
等方法保证结果准确,否则转换的时候会丢失高位信息,类似C中的精度损失,造成结果不准确;在转换时如果超出范围,将直接抛出ArithmeticException
异常。