<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java中日期與字符串的處理

            時間:2025-04-18 15:26:58 java語言 我要投稿
            • 相關推薦

            Java中日期與字符串的處理

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

              日期相關的API

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

              構造方法:

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

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

              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位數字年份

              MM 代表2位數字月份

              dd 代表2位數字月日

              ...

              有關pattern的細節,可以查看API文檔。

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

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

              常用方法:

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

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

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

              如何獲取這個長整型?

              long t = System.currentTimeMillils();

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

              如:

              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){

              //創建日歷對象

              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).它是不可變的,一旦創建好,就不可再變。

              b).底層就是字符數組.

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

              創建字符串的2種方式:

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

              String str = "Jack";

              String str2 = "Jack";

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

              所以:

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

              方式二:

              String str = new String("Jack");

              String str2 = new String("Jack");

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

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

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

              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的區別:

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

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

              所以,在非多線程環境下,使用StringBuilder。

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

              接口:java.lang.CharSequence

              方法:

              charAt(int index);

              int length();

              String toString();

              實現類:

              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(); //把字符串 編碼 成字節數組

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


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

            Java 的日期時間02-03

            Java字符串(String)05-18

            Java編程中異常處理的方法06-03

            關于Java字符串問題05-10

            PHP編程中字符串處理的5個技巧02-04

            Java編程中異常處理的最優法08-06

            Java的replace替換字符串中的回車換行符的方法07-22

            java常用字符串03-27

            關于基于Java字符串==與 equals07-28

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看