亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

Java中日期與字符串的處理

時間:2024-08-16 03:00:15 java語言 我要投稿
  • 相關推薦

Java中日期與字符串的處理

  Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,下面為大家介紹一下Java中日期與字符串的處理,一起來看看!

  日期相關的API

  java.util.Date 類,是一個日期類,含年、月、日、時、分、秒信息。

  構造方法:

  public Date(); 空參構造,得到當前系統(tǒng)時間的日期。

  public Date(long date); //根據指定的毫秒數(shù)來構造一個日期。

  java.util.Calendar 類,是一個日歷類。它包含 日期的所有信息.

  方法:

  public static Calendar getInstance();

  public int get(int field);

  public void set(int field, int value);

  public void setTime(Date date);

  public Date getTime();

  還有大量的常量,這些常量就是 field的值.

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

  java.text.SimpleDateFormat類,日期格式器類[上一講提到過]

  構造方法:

  public SimpleDateFormat(String pattern).

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

  yyyy 代全4位數(shù)字年份

  MM 代表2位數(shù)字月份

  dd 代表2位數(shù)字月日

  ...

  有關pattern的細節(jié),可以查看API文檔。

  如,我們可以構造一個SimpleDateFormate對象.

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

  常用方法:

  public String format(Date date); //格式化日期.

  public Date parse(String dateStr); //把字符串轉成日期

  在JAVA中,時間就指至1970年1月1日午夜至現(xiàn)在所經過的毫秒數(shù).它是一個長整型的數(shù)。

  如何獲取這個長整型?

  long t = System.currentTimeMillils();

  針對日期的操作,可以封裝一個工具類,用來創(chuàng)建日期、格式化日期或是解析日期字符串等。

  如:

  public class DateUtil{

  public static Date create(int y,int m, int d){

  return create(y,m,d,0,0,0);

  }

  public static Date create(int y,int m, int d, int h, int minute,int second){

  //創(chuàng)建日歷對象

  Calendar c = Calendar.getInstance();

  //綁定全新日期與時間

  c.set(Calendar.Year,y);

  ...

  c.set(Calendar.SECOND, second);

  //返回一個日期

  return c.getTime();

  }

  public static String format(Date d){

  final String pattern = "yyyy-MM-dd";

  return format(d,pattern);

  }

  public static String format(Date d, String pattern){

  SimpleDateFormat sdf = new SimpleDateFormat(pattern);

  return sdf.format(d);

  }

  ...

  }

  String類的特點:

  a).它是不可變的,一旦創(chuàng)建好,就不可再變。

  b).底層就是字符數(shù)組.

  c).由于字符串是編程中操作最頻繁的數(shù)據,所以,JVM針對字符串做了優(yōu)化處理。提供了 “串池”,如下: ["串池" 也是堆空間。]

  創(chuàng)建字符串的2種方式:

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

  String str = "Jack";

  String str2 = "Jack";

  因為創(chuàng)建第一個str時,由于串池中沒有"Jack"這個字符串,所以,在串池中創(chuàng)建了Jack,而當?shù)诙䝼對象str2創(chuàng)建時,此時,串池是已經有了Jack,所以,直接返回Jack的地址給str2.這樣的話,串池中只有1個Jack. 大大降低資源的占有率,從而提高效率。

  所以:

  System.out.println(str == str2); //此時會輸出 true

  方式二:

  String str = new String("Jack");

  String str2 = new String("Jack");

  以上方式采用new操作符,會在堆空間中申請2塊空間,來分別存放Jack 數(shù)據。所以:

  System.out.println(str == str2); //此時會輸出 false

  所以,建議創(chuàng)建字符串對象時,都采用方式一(串池的方式)

  String str = "Hello";

  str = str + "World"; //會產生臨時對象,占用更多的空間(資源)

  為了改進字符串拼接效率較低的情況,API中提供了StringBuilder 和 StringBuffer 兩個來做字符串的拼接操作。它們的效是非常高的。

  java.lang.StringBuilder

  構造方法:

  public StringBuilder();

  public StringBuilder(String str);

  其它方法:

  public StringBuilder append(String str);

  public String toString();

  StringBuilder與StringBuffer的區(qū)別:

  StringBuffer是多線程安全的,是重量級的。

  StringBuilder不是線程安全的,是輕量級的。

  所以,在非多線程環(huán)境下,使用StringBuilder。

  字符串類型相關類與接口:

  接口:java.lang.CharSequence

  方法:

  charAt(int index);

  int length();

  String toString();

  實現(xiàn)類:

  java.lang.String

  java.lang.StringBuilder

  java.lang.StringBuffer

  String相關操作方法:

  查詢字符序列的方法:

  indexOf(String str);

  indexOf(String str, int fromIndex);

  lastIndexOf(String str);

  lastIndexOf(String str, int fromIndex);

  startsWith(String str);

  endsWith(String str);

  contains(String str);

  求子串的方法:

  subString(int start, int end); 含start,不含end

  subString(int start); //從start至結尾

  其它方法

  concat(String str);

  trim(); //去掉前后的空白字符

  isEmpty(); 當length()方法0時,為true

  replace(String oldStr,String newStr);

  replace(char oldChar, char newChar);

  split(String pattern); //把字符串按給定的字符切割。

  getBytes(); //把字符串 編碼 成字節(jié)數(shù)組

  toCharArray(); //把字符串轉換成新的字符數(shù)組


【Java中日期與字符串的處理】相關文章:

Java編程中異常處理的方法12-16

全面理解java中的異常處理機制精選04-02

java日期時間基本操作方法04-04

C語言之字符串處理函數(shù)04-01

java判斷字符串是否為數(shù)字的幾個方法12-06

Java常用字符串反轉的五種方案12-02

java圖片處理功能介紹12-09

8種C語言基本常用的字符串處理函數(shù)05-30

java如何處理BOM文本03-17