Java常用类库

来源:互联网 发布:虚拟机安装教程linux 编辑:程序博客网 时间:2024/06/07 12:49

Java的常用类库

一、字符串操作:

String / StringBuffer / StringBuilder:

A) String做字符串拼接的时候,性能极低(耗时),原因是Sting是不可变的,每次内容改变都会在内存中创建新的对象。

1String对象的创建:

       1):直接赋一个字面量: String  str1  =ABCD;

       2):通过构造器创建:String str2 = new  String(ABCD);

2两种方式有什么区别,分别在内存中如何分布?

String对象的空值:

       1):表示引用为空(null): String  str 1 = null;  没有初始化,没有分配内存空间.   

       2):内容为空字符串: String  str2  =“”;  以及初始化,分配内存空间,不过没有内容.

3判断字符串非空:

      1):引用不能为空(null);2):字符内容不能为空字符串(“”);

4字符串的比较操作:

      1):使用”==”号:只能比较引用的内存地址是否相同.

      2):使用equals方法:Object类中和”==”号相同,建议子类覆盖equals方法去比较自己的内容.

    String类覆盖equals方法,比较的是字符内容.

 

StringBufferStringBuilder都表示可变的字符串,当对象创建完毕之后,该对象的内容可以发生改变,当内容发生改变的时候,对象保持不变,功能方法都是相同的.

唯一的区别:

StringBuffer:  StringBuffer中的方法都使用了synchronized修饰符,表示同步的,在多线程并发的时候可以保证线程安全,保证线程安全的时候,性能(速度)较低.

StringBuilder:StringBuilder中的方法都没有使用了synchronized修饰符,不安全,但是性能较高.

StringBuilder常用方法:

1append(Object val):表示追加任意类型数据

2StringBuilder deleteCharAt(int index) :删除字符串中,指定位置的字符

3insert():在任意位置给你添加类容

4reverse():反向操作

5replace:替换

6substring():截取字符串

7indexof():查找指点的内容是否存在

二、随机数(Random类):

1Random类用于生产一个伪随机数(通过相同的种子,产生的随机数是相同的)

2public Random():使用默认的种子(以当前系统时间作为种子)。

3public Random(long seed):根据指定的种子。

三、日期类(Date):java.Util.Date

1分类:DateFormat/SimpleDateFormat/Calendar:

Date类中的大量方法都已经过时了,过时不代表不存在,依然可以使用,只不过不建议使用,官方建议我们使用Calendar类。

2、日期格式化操作:

a) DateFormat(在java.text包):

Demo:

DateFormat d1 = DateFormat.getDateInstance();DateFormat t1 = DateFormat.getTimeInstance();System.out.println(d1.format(new Date()));System.out.println(t1.format(new Date())); DateFormat d2 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","cn"));DateFormat t2 = DateFormat.getTimeInstance(DateFormat.ERA_FIELD,new Locale("zh","cn"));System.out.println(d2.format(new Date()));System.out.println(t2.format(new Date()));//Locale类:Locale 对象表示了特定的地理、政治和文化地区。


 

b) SimpleDateFormat

Demo:

String strDate = "2012-10-01 11:10:10.222";String formt1 = "yyyy-MM-dd HH:mm:ss.SSS";String formt2 = "yyyy年MM月dd日HH时mm秒ss分SSS毫秒";SimpleDateFormat sdf1 = new SimpleDateFormat(formt1);SimpleDateFormat sdf2 = new SimpleDateFormat(formt2);Date dd = null;try {dd = sdf1.parse(strDate );//这里只能是sdf1不能是sdf2} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(sdf2.format(dd)); 

3、日历类(Calendar):是抽象类,表示日历,Date更强大.

创建日历对象:

Calendar c = Calendar.getInstance();

关于Java的常用类还有很多,我只列举了几个用得较多的,大家可以参考一下。