java学习日期相关的API

 java.util.Date类,是一个日期类,含年、月、日、时、分、秒信息。

构造方法:

  publicDate();空参构造,得到当前系统时间的日期。

  publicDate(longdate);//根据指定的毫秒数来构造一个日期。

  java.util.Calendar类,是一个日历类。它包含日期的所有信息.

  方法:

  publicstaticCalendargetInstance();

  publicintget(intfield);

  publicvoidset(intfield,intvalue);

  publicvoidsetTime(Datedate);

  publicDategetTime();

  还有大量的常量,这些常量就是field的值.

  YEAR,MONTH,DATE,DAY_OF_MONTH,DAY_OF_WEEK.....

  java.text.SimpleDateFormat类,日期格式器类[上一讲提到过]

构造方法:

  publicSimpleDateFormat(Stringpattern).

  注:pattern是指格式化日期的字符串。

yyyy代全4位数字年份

  MM  代表2位数字月份

  dd  代表2位数字月日

  ...

  有关pattern的细节,可以查看API文档。

  如,我们可以构造一个SimpleDateFormate对象.

  SimpleDateFormatsdf=newSimpleDateFormat("yyyy/MM/dd");

常用方法:

  publicStringformat(Datedate);//格式化日期.

  publicDateparse(StringdateStr);//把字符串转成日期

  在JAVA中,时间就指至年1月1日午夜至现在所经过的毫秒数.它是一个长整型的数。

如何获取这个长整型?

  longt=System.currentTimeMillils();

  针对日期的操作,可以封装一个工具类,用来创建日期、格式化日期或是解析日期字符串等。

  如:

  publicclassDateUtil{

  publicstaticDatecreate(inty,intm,intd){

  returncreate(y,m,d,0,0,0);

  }

     publicstaticDatecreate(inty,intm,intd,inth,intminute,intsecond){

  //创建日历对象

  Calendarc=Calendar.getInstance();

  //绑定全新日期与时间

  c.set(Calendar.Year,y);

  ...

  c.set(Calendar.SECOND,second);

  //返回一个日期

  returnc.getTime();

  }

  publicstaticStringformat(Dated){

  finalStringpattern="yyyy-MM-dd";

  returnformat(d,pattern);

  }

  publicstaticStringformat(Dated,Stringpattern){

  SimpleDateFormatsdf=newSimpleDateFormat(pattern);

  returnsdf.format(d);

  }

  ...

  }

String类的特点:

  a).它是不可变的,一旦创建好,就不可再变。

  b).底层就是字符数组.

  c).由于字符串是编程中操作最频繁的数据,所以,JVM针对字符串做了优化处理。提供了“串池”,如下:["串池"也是堆空间。]

创建字符串的2种方式:

  方式一:采用“串池”存放.

  Stringstr="Jack";

  Stringstr2="Jack";

  因为创建第一个str时,由于串池中没有"Jack"这个字符串,所以,在串池中创建了Jack,而当第二个对象str2创建时,此时,串池是已经有了Jack,所以,直接返回Jack的地址给str2.这样的话,串池中只有1个Jack.大大降低资源的占有率,从而提高效率。

  所以:

  System.out.println(str==str2);//此时会输出true

  方式二:

  Stringstr=newString("Jack");

  Stringstr2=newString("Jack");

  以上方式采用new操作符,会在堆空间中申请2块空间,来分别存放Jack数据。所以:

  System.out.println(str==str2);//此时会输出false

  所以,建议创建字符串对象时,都采用方式一(串池的方式)

  Stringstr="Hello";

  str=str+"World";//会产生临时对象,占用更多的空间(资源)

  为了改进字符串拼接效率较低的情况,API中提供了StringBuilder和StringBuffer两个来做字符串的拼接操作。它们的效是非常高的。

  java.lang.StringBuilder

  构造方法:

  publicStringBuilder();

  publicStringBuilder(Stringstr);

  其它方法:

  publicStringBuilderappend(Stringstr);

  publicStringtoString();

  StringBuilder与StringBuffer的区别:

  StringBuffer是多线程安全的,是重量级的。

  StringBuilder不是线程安全的,是轻量级的。

  所以,在非多线程环境下,使用StringBuilder。

字符串类型相关类与接口:

  接口:java.lang.CharSequence

  方法:

charAt(intindex);

intlength();

StringtoString();

  实现类:

 java.lang.String

 java.lang.StringBuilder

 java.lang.StringBuffer

中软高科

(长按上图,弹出“识别







































白癜风治疗要多少钱
北京哪里白癜风哪间医院好



转载请注明:http://www.jiaju1314.com/pxxx/935.html

  • 上一篇文章:
  •   
  • 下一篇文章: