java面向对象下:常用类

12、常用类:

字符串相关类: 字符串的顺序是按照字母顺序排列的,先比字符再比长度。 String类: String类是引用,字符串常量里面的数据是不可变的,即使改变也是让String的引用指向另一个空间。 加载期在main方法前虚拟机会把所有的字符串常量以对象的形式预先放置在常量池中。 指向堆的引用: String str=new String("hello");不检查常量池,直接new出新对象(这段代码产生了2个字符串对象,加载时预先在常量池产生对象,然后new出一个对象放在堆中。) 指向常量池的引用: String str="hello";这段代码会先在常量池中寻找是否有对象,有它的引用就直接指向那个对象,没有就重新划分空间创建对象。 StringBuffer类: 这个类是可变的,它没有继承String,使用是不能直接赋字符串只能通过构造器new出来。 StringBuffer sb=new StringBuffer("Hello"); sb.append("world"); 他的链接符不是+号,而是append(); 调用它的toString方法能将其转换成一个String对象。 与String相比唯一的优势就是字符串链接动作,他不会在内存产生新的字符串对象。 StringBuilder类: 它与StringBuffer类用起来是一样的。 不同的是StringBuffer是线程安全的,而Stringbuilder则是不安全的。

日期相关类: Date类: Date目前的作用是获取当前时间并按照我们需要的格式打印输出。 Date date=new Date(); DateFormat抽象类与SimpleDateFormat类: DateFormat是抽象的类不能被实列化,但是它提供了大量的静态方法返回一个具体的子类。我们可以用不通的方法格式化日期时间。 DateFormat类的getDateInstance()方法可以返回一个将日期按照默认或制定地区的方式格式化。 得到具体子类后我们就可以调用具体子类的Format()方法按照预定义的方式格式化日期时间。 Calendner抽象类与GregorianCalender类; Calender类是抽象的,不能实例化。它唯一的子类是GregoeianCalender类,所以它的的静态方法getInstance()方法就是返回一个GregorianCalender对象。 Calender cal=Calender.getInstance();这是设计模式。 GregorianCalender day=new GregorianCalender(1949,9,1); 需要注意的是,月份是从0还是记得,如12+1才是12月;星期是从星期天开始的,如1就是星期天,3是星期2。

包装类与自动装箱拆箱: 包装类封装了大量基本类的属性(列如最大值、最小值)以及大量对基本类型进行转换的方法。 八中数据类型对应的包装类只有int(Integer)和char(Character)这两个不同,其他的包装类都是把首字母改为大写。 Number类有shortValue()、intValue()、doubleValue()等方法,使用这些方法就返回对应的基本数据类型。 也提供了parse…(String s)方法,将字符串转换成对应的基本数据类型。 基本类型和包装类对象互转: 基本转包装类对象:自动封箱和自动拆箱。 包装类对象转基本:调用包装类的…Value方法。 包装类对象转字符串:调用包装类对象的toString方法。 字符串转包装类对象:调用包装类对象的带参数的toString构造方法。 字符串转基本:调用包装类的parse…方法。 基本转字符串:调用包装类的带参数的toString方法。也可以:直接使用字符串链接空串进行链接,String s1=变量名+"";

正则表达式regex: 任何一个字符串都是正则表达式。 (|) 分组,可以放竖线前面也可以放后面,可以加多个竖线分隔; 转义,(\?); * 匹配前面的子表达式零次或多次; + 匹配前面的子表达式一次或多次; ? 匹配前面的子表达式零次或一次; {n} 前面的规则允许出现次数; {n,} 最少出现n次,最多不限; {n,m} 最少n次最多m次; [abc] 匹配一个abc; [a-f] 匹配a到f的所有字符 [^0-9] 不匹配0到9的数字。

property属性文件: Key-Value(KV 对) key是键value是值,元素数由键和值组成的他们永远共同出现。

经验分享 程序员 微信小程序 职场和发展