包装类
基本类型是比较简单的类型,仅仅是用来操作简单的数据,希望都能有对应的数据信息的维护和功能的封装,直白说,就是想要基本类型也有对象形式,这些对应的类型叫做包装类。
基本类型: byte short int long float double char boolean
包装类类型: Byte Short Integer Long Float Double Character Boolean
包装类的使用方式都是雷同的,因此找一个代表进行学习即可,代表类——Integer。
共同点:
在java.lang包中,都是final类。
Integer类
构造方法
Integer(int value) : 将基本类型转为对象形式
Integer(String s) : 将字符串转为Integer对象形式
注意:字符串必须是整数形式的,否则会抛出异常:
NumberFormatException 数字格式化异常
方法
int intValue() : 将对象转为基本类型
其他包装类中也有类似的方法:
booleanValue(),
doubleValue(),
… xxx xxxValue()
static int parseInt(String s) : 将字符串解析为基本类型,注意字符串的格式
其他包装类中也有类似的方法:
parseDouble(str)
parseBoolean(str)…
xxx parseXxx(str) ,
注意:包装类Character类中没有此方法
static int parseInt(String s , int radix) : 将其他进制转为十进制
参数:s 其他进制数据 radix 进制
将十进制转为其他进制:
字符串、包装类、基本类型间的转换
1.字符串<---->包装类
字 —> 类: new Integer(Str) 、 Integer.valueOf(str)
类 —> 字: toString() 、String.valueOf(Integer)
2.字符串<---->基本类型
字 —> 基本: Integer.parseInt(str)
基本 —> 字: +”” 、 String.valueOf(int) 、Integer.toString(int)
3.包装类<---->基本类型
类 —> 基本: intValue()
基本 —> 类: new Integer(int) Integer.valueOf(int)
自动装箱和自动拆箱
属于jdk5.0版本的特性。
装箱:将基本类型转为包装类对象形式
自动装箱:可以直接将基本类型赋值给对象,省略了new Integer
如:Integer in = 123;
拆箱:将包装类对象转为基本类型形式
自动拆箱:直接将对象赋值给基本类型,省略了intValue方法的调用
如: int num = in;
好处:简化了代码的书写
弊端:对性能有损耗
常量:
正则表达式
实际就是一个字符串。与之前定义的字符串有区别,之前定义的只能代表自己,如:”hello”。
正则表达式是字符串,可以代表一类字符串,准确来说它是一个规则,只要符合规则的字符串都属于这一类字符串。
好处:可以简化代码的逻辑书写。
弊端:写出正确的正则是有难度的。
例如: 验证是否是一个QQ号码。
规则: 长度:6-12 首位不能是0 每位都是数字
正则表达式组成的内容:
字符 :
\\ :代表反斜线
\n :换行符
\t :tab键
\r :回车符
字符类:
注意:一对中括号代表一个字符位置;以上的abc仅仅是举例子,可以是其他内容。
预定义字符类:
预先定义好的字符,不能改变,格式固定的。
注意:使用时需要写两个斜线,如:\\d
数量词:
以上中的X代表一个字符位,字符位上的内容能出现的次数。
与正则有关的方法:
boolean matches(String regex) : 匹配,整个字符串与规则进行匹配。
String[] split(String regext): 切割,从左至右符合规则就切割一下
String replaceAll(String regex, String newStr): 替换,从左至右符合规则就替换一下