java.lang包(一)

详细参见jdk文档。
在程序中,java.lang包并不需要像其他包一样需要import关键字引入,系统会自动加载。
在这里插入图片描述
一、java.lang包装类
Java为8个基本类型都提供了包装类:

原始数据类型 包装类
byte(字节) Byte
char(字符) Character
int(整型) Integer
long (长整型) Long
float(浮点型) Float
double (双精度) Double
boolean (布尔) Boolean
short(短整型) Short

其中,除了Integer和Character类之外,其他类的类名和基本数据类型一致,只是类名的第一个字母大写。

java.lang包中的Integer类、Long类和Short类都是Number类的子类。区别在于不同子类中封装着不同的数据类型。
1.Integer类
以Integer类为例。Integer构造方法有两种:
1.Integer(int value),以int型变量为参数创建Integer对象。
eg: Integer a = new Integer(10);
2.Integer(String s) ,以 String 型变量作为参数创建 Integer 对象.
eg: Integer a = new Integer(“10”)

Integer的常用方法

方法 返回值 功能描述
compareTo(Integer anotherInteger) int 在数字上比较 Integer 对象。如果这两个值相等,则返回 0;如果调用对象的数值小于 anotherInteger 的数值,则返回负值;如果调用对象的数值大于 anotherInteger 的数值,则返回正值
equals(Object IntegerObj) boolean 比较此对象与指定对象是否相等
byteValue() byte 以 byte 类型返回该 Integer 的值
intValue() int 以 int 型返回此 Integer 对象
shortValue() short 以 short 型返回此 Integer 对象
longValue() long 以 long 型返回此 Integer 对象
floatValue() float 以 float 型返回此 Integer 对象
doubleValue() double 以 double 型返回此 Integer 对象
toString() String 返回一个表示该 Integer 值的 String 对象
valueOf(String str) Integer 返回保存指定的 String 值的 Integer 对象
parseInt(String str) int 将字符串参数作为有符号的十进制整数进行解析

其实,JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。使用示例代码如下:

               //int类型会自动转换为Integer类型

               int m = 12;

               Integer in = m;

               //Integer类型会自动转换为int类型

               int n = in;

     所以在实际使用时的类型转换将变得很简单,系统将自动实现对应的转换。

2.Character类
Charater包装类的常用方法:

方法 返回值 说明
isDigit(char ch) boolean 确定字符是否为数字
isLetter(char ch) boolean 确定字符是否为字母
isLowerCase(char ch) boolean 确定字符是否为小写字母
isUpperCase(char ch) boolean 确定字符是否为大写字母
isWhitespace(char ch) boolean 确定字符是否为空白字符
isUnicodeIdentifierStart(char ch) boolean 确定是否允许将指定字符作为 Unicode 标识符中的首字符

3.Boolean类
Boolean类的构造方法也有两个:
Boolean(boolean value),创建一个表示 value 参数的 Boolean 对象,如Boolean b = new Boolean(true)
Boolean(String s),如果 String 参数不为 null 且在忽略大小写时等于 “true”,创建一个表示 true 值的 Boolean 对象,如Boolean b = new Boolean(“ok”),为 false。

Boolean包装类的常用方法:

方法 返回值 说明
booleanValue() boolean 将 Boolean 对象的值以对应的 boolean 值返回
equals(Object obj) boolean 判断调用该方法的对象与 obj 是否相等。当且仅当参数不是 null,而且与调用该方法的对象一样都表示同一个 boolean 值的 Boolean 对象时,才返回 true
parseBoolean(String s) boolean 将字符串参数解析为 boolean 值
toString() String 返回表示该 boolean 值的 String 对象
valueOf(String s) Boolean 返回一个用指定得字符串表示值的 boolean 值

二、java.lang类String
使用String类来定义一个字符串。字符串是常量,它们的值在创建之后不能更改。
字符串缓冲区支持可变的字符串。

String对象的初始化格式有2种:

String s0 = "abc";
String s1 = new String("abd");

String类具有丰富的方法,比如计算字符串的长度、连接字符串、比较字符串、提取字符串等等。
1.计算字符串长度
public int length(){} //方法原型
调用方法:字符串标识符.length(); 返回一个int类型的整数(字符串中字符数,中文字符也是一个字符)。
2.字符串比较
equals()方法,作用:判断两个字符串对象的内容是否相同。相同返回true,否则返回false。
equals() 方法比较是从第一字符开始,一个字符一个字符依次比较。

在这里插入图片描述
通过调用equalsIgnoreCase()方法,可以忽略掉大小写关系进行比较。
而使用"=="比较的是两个对象在内存中存储的地址是否一样。
eg:String s1=“abc”;String s2 = new String(“abc”);boolean b=(s1==s2);则变量b的值是false,因为s1对象对应的地址是“abc”的地址,而s2使用new关键字申请新的内存,所以内存地址和s1的“abc”的地址不一样,故获的值为false。

3.字符串连接
字符串连接有两种方法:
1)使用 + ,比如String s = "Hello " + “world!”
2)使用String类的concat()方法
eg:

String s0 = new String("Hello");
String s1 = "World" + "!"; //+号连接
String s2 = s0.concat(s1); //concat()方法连接
System.out.println(s2);

注意:使用+进行连接时,不仅可以连接字符串,也可以连接其他类型,但至少有一个参与连接的内容是字符串类型。

4.charAt()方法
作用:按照索引值(规定字符串中第一个字符的索引值是0,第二个字符的索引值是1,依次类推),获得字符串中的指定字符。
eg: String s = “abc”; char c = s.charAt(1);
则变量c的值是’b’。

5.字符串常用提取方法

方法 返回值 功能描述
indexOf(int ch) int 搜索字符 ch 第一次出现的索引
indexOf(String value) int 搜索字符串 value 第一次出现的索引
lastIndexOf(int ch) int 搜索字符 ch 最后一次出现的索引
lastIndexOf(String value) int 搜索字符串 value 最后一次出现的索引
substring(int index) String 提取从位置索引开始到结束的字符串
substring(int beginindex, int endindex) String 提取 beginindex 和 endindex 之间的字符串部分
trim() String 返回一个前后不含任何空格的调用字符串的副本

注意:在字符串中,第一个字符的索引为0,子字符串包含beginindex的字符,但不包含endindex的字符。

6.StringBuffer
String的不变性的机制显然回在String常量内有大量的冗余。如,创建一个循环,使字符‘1’依次连接到‘n’,系统就得创建 n+(n-1)个String对象。
StringBuffer类是可变的。它是String的对等类,它可以增加和编写字符的可变序列,并且能够将字符插入到字符串中间或附加到字符串末尾。
StringBuffer的构造方法:

构造方法 说明
StringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符
StringBuffer(CharSequence seq) 构造一个字符串缓冲区,它包含与指定的 CharSequence 相同的字符
StringBuffer(int capacity) 构造一个不带字符,但具有指定初始容量的字符串缓冲区
StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容

StringBuffer的常用方法

方法 返回值 功能描述
insert(int offsetm,Object s) StringBuffer 在 offsetm 的位置插入字符串 s
append(Object s) StringBuffer 在字符串末尾追加字符串 s
length() int 确定 StringBuffer 对象的长度
setCharAt(int pos,char ch) void 使用 ch 指定的新值设置 pos 指定的位置上的字符
toString() String 转换为字符串形式
reverse() StringBuffer 反转字符串
delete(int start, int end) StringBuffer 删除调用对象中从 start 位置开始直到 end 指定的索引(end-1)位置的字符序列
replace(int start, int end, String s) StringBuffer 使用一组字符替换另一组字符。将用替换字符串从 start 指定的位置开始替换,直到 end 指定的位置结束

补充:
1.getBytes方法
作用:将字符串转换为对应的byte数组,从而便于数据的存储和传输。
eg: String s= “计算机”;
byte[] b = s.getBytes(); //使用本机默认的字符串转换为byte数组
byte[] b = s.getBytes(“gb2312”); //使用gb2312字符集转换成byte数组
在实际转换时,一定要注意字符集的问题,否则中文在转换时将会出现问题。
2.toCharArray方法
和getBytes方法类似,即将字符串转换为对应的char数组。
3.split方法
作用:以特定的字符串作为间隔,拆分当前字符串的内容,一般拆分以后得到一个字符串数组。
eg: String s = “ab,12,df”;
String s1[] = s.split(",");
得到s1内容为{“ab”,“12”,“df”}。
该方法是解析字符串的基础方法。

参考自实验楼。

发布了28 篇原创文章 · 获赞 3 · 访问量 933

猜你喜欢

转载自blog.csdn.net/weixin_43273005/article/details/102725338
今日推荐