Java中日期与字符串的处理
Java中日期与字符串的处理
日期相关的API
java.util.Date 类,是一个日期类,含年、月、日、时、分、秒信息。
构造方法:
public Date; 空参构造,得到当前系统时间的日期。
public Datelong date; //根据指定的毫秒数来构造一个日期。
java.util.Calendar 类,是一个日历类。它包含日期的所有信息.
方法:
public static Calendar getInstance;
public int getint field;
public void setint field, int value;
public void setTimeDate date;
public Date getTime;
还有大量的常量,这些常量就是field的值.
YEAR,MONTH, DATE,DAY_OF_MONTH, DAY_OF_WEEK. .
public SimpleDateFormatString pattern.
注:pattern是指格式化日期的字符串。
yyyy 代全4位数字年份
MM 代表2位数字月份
dd 代表2位数字月日
.
..
有关pattern的细节,可以查看API文档。
如,我们可以构造一个SimpleDateFormate对象.
SimpleDateFormat sdf = new SimpleDateFormat“yyyy/MM/dd";
常用方法:
public String formatDate date; //格式化日期.
public Date parseString dateStr; //把字符串转成日期
在JAVA中,时间就指至1970年1月1日午夜至现在所经过的毫秒数.它是一个长整型的`数。
如何获取这个长整型?
long t = System.currentTimeMillils;
针对日期的操作,可以封装一个工具类,用来创建日期、格式化日期或是解析日期字符串等。
如:
public class DateUtil
public static Date createint y,int m, int d
return createy,m,d,0,0,0;
public static Date createint y,int m, int d, int h, int minute,int second
//创建日历对象
Calendar c = Instance;
//绑定全新日期与时间
c.setCalendar.Year,y;
...
c.setCalendar.SECOND, second;
/java时间日期格式转换
/返回一个日期
Time;
public static String formatDate d
final String pattern = "yyyy-MM-dd";
return formatd,pattern;
public static String formatDate d, String pattern
SimpleDateFormat sdf = new SimpleDateFormatpattern;
return sdf.formatd;
...
String类的特点:
a.它是不可变的,一旦创建好,就不可再变。
b.底层就是字符数组.
c.由于字符串是编程中操作最频繁的数据,所以,JVM针对字符串做了优化处理。提供了“串池”,如下:["串池" 也是堆空间。]
创建字符串的2种方式:
方式一:采用“串池”存放.
String str = "Jack";
String str2 = "Jack";
因为创建第一个str时,由于串池中没有"Jack"这个字符串,所以,在串池中创建了Jack,而当第二个对象str2创建时,此时,串池是已经有了Jack,所以,直接返回Jack的地址给str2.这样的话,串池中只有1个Jack. 大大降低资源的占有率,从而提高效率。
所以:
System.out.printlnstr == str2; //此时会输出true
方式二:
String str = new String"Jack";
String str2 = new String"Jack";
以上方式采用new操作符,会在堆空间中申请2块空间,来分别存放Jack 数据。所以:
System.out.printlnstr == str2; //此时会输出false
所以,建议创建字符串对象时,都采用方式一串池的方式String str = "Hello";
str = str + "World"; //会产生临时对象,占用更多的空间资源为了改进字符串拼接效率较低的情况,API中提供了StringBuilder 和StringBuffer 两个来做字符串的拼接操作。它们的效是非常高的。
java.lang.StringBuilder
构造方法:
public StringBuilder;
public StringBuilderString str;
其它方法:
public StringBuilder appendString str;
public String toString;
StringBuilder与StringBuffer的区别:
StringBuffer是多线程安全的,是重量级的。
StringBuilder不是线程安全的,是轻量级的。
所以,在非多线程环境下,使用StringBuilder。
字符串类型相关类与接口:
接口:java.lang.CharSequence
方法:
charAtint index;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。