国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務(wù)器之家 - 編程語言 - JAVA教程 - 淺析Java中對(duì)象的創(chuàng)建與對(duì)象的數(shù)據(jù)類型轉(zhuǎn)換

淺析Java中對(duì)象的創(chuàng)建與對(duì)象的數(shù)據(jù)類型轉(zhuǎn)換

2020-03-22 12:56zhangjunhd JAVA教程

這篇文章主要介紹了Java中對(duì)象的創(chuàng)建與對(duì)象的數(shù)據(jù)類型轉(zhuǎn)換,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

Java:對(duì)象創(chuàng)建和初始化過程
1.Java中的數(shù)據(jù)類型

    Java中有3個(gè)數(shù)據(jù)類型:基本數(shù)據(jù)類型(在Java中,boolean、byte、short、int、long、char、float、double這八種是基本數(shù)據(jù)類型)、引用類型和null類型。其中,引用類型包括類類型(含數(shù)組)、接口類型。
    下列語句聲明了一些變量:

?
1
2
3
4
int k ;
A a; //a是A數(shù)據(jù)類型的對(duì)象變量名。
B b1,b2,…,b10000;// 假定B是抽象類或接口。
String s;

     注意:從數(shù)據(jù)類型與變量的角度看,基本數(shù)據(jù)類型變量k、類類型變量a和s、抽象類或接口類型變量b(1萬個(gè)),它們都是變量(標(biāo)識(shí)符)。
2.關(guān)于句柄(handle)
    為了區(qū)別引用類型的變量標(biāo)識(shí)符和基本數(shù)據(jù)類型變量標(biāo)識(shí)符,我們特別的使用Handle來稱呼引用類型的變量標(biāo)識(shí)符。上面例子中b1至b10000、a、s都是Handle。Handle直觀的看就是手柄、把手,我們采用計(jì)算機(jī)界常用的中文翻譯“句柄”。
 
2.1【W(wǎng)indows編程中的】句柄的含義
    句柄是WONDOWS用來標(biāo)識(shí)被應(yīng)用程序所建立或使用的對(duì)象的唯一整數(shù),WINDOWS使用各種各樣的句柄標(biāo)識(shí)諸如應(yīng)用程序?qū)嵗?,窗口,控制,位圖,GDI對(duì)象等等。WINDOWS句柄有點(diǎn)象C語言中的文件句柄。
    從上面的定義中的我們可以看到,句柄是一個(gè)標(biāo)識(shí)符,是拿來標(biāo)識(shí)對(duì)象或者項(xiàng)目的,它就象我們的姓名一樣,每個(gè)人都會(huì)有一個(gè),不同的人的姓名不一樣,但是,也可能有一個(gè)名字和你一樣的人。從數(shù)據(jù)類型上來看它只是一個(gè)16位的無符號(hào)整數(shù)。應(yīng)用程序幾乎總是通過調(diào)用一個(gè)WINDOWS函數(shù)來獲得一個(gè)句柄,之后其他的WINDOWS函數(shù)就可以使用該句柄,以引用相應(yīng)的對(duì)象。
    如果想更透徹一點(diǎn)地認(rèn)識(shí)句柄,我可以告訴大家,句柄是一種指向指針的指針。我們知道,所謂指針是一種內(nèi)存地址。應(yīng)用程序啟動(dòng)后,組成這個(gè)程序的各對(duì)象是駐留在內(nèi)存的。如果簡單地理解,似乎我們只要獲知這個(gè)內(nèi)存的首地址,那么就可以隨時(shí)用這個(gè)地址訪問對(duì)象。但是,如果您真的這樣認(rèn)為,那么您就大錯(cuò)特錯(cuò)了。我們知道,Windows是一個(gè)以虛擬內(nèi)存為基礎(chǔ)的操作系統(tǒng)。在這種系統(tǒng)環(huán)境下,Windows內(nèi)存管理器經(jīng)常在內(nèi)存中來回移動(dòng)對(duì)象,依此來滿足各種應(yīng)用程序的內(nèi)存需要。對(duì)象被移動(dòng)意味著它的地址變化了。如果地址總是如此變化,我們?cè)摰侥睦锶フ以搶?duì)象呢?
    為了解決這個(gè)問題,Windows操作系統(tǒng)為各應(yīng)用程序騰出一些內(nèi)存儲(chǔ)地址,用來專門登記各應(yīng)用對(duì)象在內(nèi)存中的地址變化,而這個(gè)地址(存儲(chǔ)單元的位置)本身是不變的。Windows內(nèi)存管理器在移動(dòng)對(duì)象在內(nèi)存中的位置后,把對(duì)象新的地址告知這個(gè)句柄地址來保存。這樣我們只需記住這個(gè)句柄地址就可以間接地知道對(duì)象具體在內(nèi)存中的哪個(gè)位置。這個(gè)地址是在對(duì)象裝載(Load)時(shí)由系統(tǒng)分配給的,當(dāng)系統(tǒng)卸載時(shí)(Unload)又釋放給系統(tǒng)。
    句柄地址(穩(wěn)定)→記載著對(duì)象在內(nèi)存中的地址────→對(duì)象在內(nèi)存中的地址(不穩(wěn)定)→實(shí)際對(duì)象
 
2.2Java中句柄的意義
    對(duì)句柄以前的【W(wǎng)indows編程中的】含義有了深刻的認(rèn)識(shí),我們可以說Handle是一個(gè)我們學(xué)習(xí)Java時(shí)非常需要的術(shù)語。它的意義在于區(qū)別“對(duì)象本身”和對(duì)象變量(或者嚴(yán)格點(diǎn):對(duì)象所屬的數(shù)據(jù)類型的變量標(biāo)識(shí)符)。
 
2.3回到1中的變量聲明:
    現(xiàn)在,你應(yīng)該對(duì)下面的注釋一目了然。

?
1
2
3
4
int k, j ;//k里面存放的是一個(gè)整型數(shù)。
A a; //a里面存放地址。
B b1,b2,…,b10000;// b1,…,b10000里面存放地址。
String s; //s里面存放地址。

3.關(guān)于引用(reference)
    什么是“引用”? “the identifier you manipulate is actually a ‘reference' to an object”。(Thinking in Java 2e )
    翻譯是:你操縱的標(biāo)識(shí)符實(shí)際上是一個(gè)對(duì)象的“引用”?;蛘呔_些,翻譯成:你操作的標(biāo)識(shí)符實(shí)際上是指向一個(gè)對(duì)象的“引用”。顯然,原文中reference是一個(gè)有方向感的東西。
    回到Java中來,引用可以想象成對(duì)象的身份證號(hào)碼、對(duì)象的ID或者對(duì)象的手機(jī)號(hào)碼。當(dāng)然,更多的說法是,引用是對(duì)象在內(nèi)存中住的房間號(hào)碼。直觀的說,對(duì)象的引用是創(chuàng)建對(duì)象時(shí)的返回值!引用是new表達(dá)式的返回值。
    new A(); 這里真正創(chuàng)建了一個(gè)對(duì)象,但我們沒有用句柄去持有(hold、拿著、保存)該引用。從微觀上看,new表達(dá)式完成了對(duì)象初始化的任務(wù)(三步曲,下文詳細(xì)分析),整體上看則返回一個(gè)引用。
    再次回到1中的變量聲明,再看看下面的注釋。

?
1
2
3
A a; //聲明句柄a,但未初始化,所以里面的值為null。
B b1,b2,…,b10000;// 聲明句柄b1,…,b10000,但未初始化,所以里面的值為null。
String s; //聲明句柄s,但未初始化,所以里面的值為null。

    4.句柄與引用的關(guān)系

?
1
2
A a;//聲明句柄a,值為null
a=new A();//句柄的初始化(句柄 = 引用;即把引用賦值給句柄)

引用:new A()的值。引用可以簡單的看作對(duì)象占據(jù)內(nèi)存空間的地址;通過對(duì)象的引用,就可以方便的與其他對(duì)象區(qū)別開來,引用就是對(duì)象獨(dú)特的身份標(biāo)識(shí)。
完成句柄的初始化后,就可以用句柄遙控對(duì)象了。
    當(dāng)然,這只是從一方面解釋對(duì)象的創(chuàng)建和初始化,理解了句柄和引用的關(guān)系后,下面分析對(duì)象初始化的整個(gè)過程。先做以下準(zhǔn)備工作,說說棧與堆。
5.java中棧(stack)與堆(heap)
    在java中內(nèi)存分為“棧”和“堆”這兩種(Stack and Heap).基本數(shù)據(jù)類型存儲(chǔ)在“棧”中,對(duì)象引用類型實(shí)際存儲(chǔ)在“堆”中,在棧中只是保留了引用內(nèi)存的地址值。
    順便說說“==”與“equals()方法”,以幫助理解兩者(Stack and Heap)的概念。
    在Java中利用"=="比較變量時(shí)候,系統(tǒng)使用變量在stack(棧)中所存的值來作為對(duì)比的依據(jù),基本數(shù)據(jù)類型在stack中所存的值就是其內(nèi)容值,而引用類型在stack中所存放的值是本身所指向Heap中對(duì)象的地址值。 Java.lang包中的Object類有public boolean equals (Object obj)方法。它比較兩個(gè)對(duì)象是否相等。僅當(dāng)被比較的兩個(gè)引用指向同一對(duì)象時(shí)(句柄相等),對(duì)象的equals()方法返回true。(至于String類的equals()方法,它重寫(override)equals()方法,不在本文討論之列。)
6.對(duì)象的創(chuàng)建和初始化過程
    在java中對(duì)象就是類的實(shí)例。在一般情況下,當(dāng)把一個(gè)類實(shí)例化時(shí),此類的所有成員,包括變量和方法,都被復(fù)制到屬于此數(shù)據(jù)類型的一個(gè)新的實(shí)例中去。分析以下兩段代碼。
 
6.1  Vehicle veh1 = new Vehicle();
    上面的語句做了如下的事情:
①右邊的“new Vehicle”,是以Vehicle類為模板,在堆空間里創(chuàng)建一個(gè)Vehicle類對(duì)象(也簡稱為Vehicle對(duì)象)。
②末尾的()意味著,在對(duì)象創(chuàng)建后,立即調(diào)用Vehicle類的構(gòu)造函數(shù),對(duì)剛生成的對(duì)象進(jìn)行初始化。構(gòu)造函數(shù)是肯定有的。如果沒創(chuàng)建,Java會(huì)補(bǔ)上一個(gè)默認(rèn)的構(gòu)造函數(shù)。
③左邊的“Vehicle veh1”創(chuàng)建了一個(gè)Vehicle類引用變量。
④“=”操作符使對(duì)象引用指向剛創(chuàng)建的那個(gè)Vehicle對(duì)象。(回想一下句柄與引用)
    將上面的語句分為兩個(gè)步驟:

?
1
2
Vehicle veh1;
veh1 = new Vehicle();

    這樣寫,就比較清楚了,有兩個(gè)實(shí)體:一是對(duì)象引用變量,一是對(duì)象本身。在堆空間里創(chuàng)建的實(shí)體,與在??臻g里創(chuàng)建的實(shí)體不同。盡管它們也是確確實(shí)實(shí)存在的實(shí)體,但是似乎很難準(zhǔn)確的“抓”住它。我們仔細(xì)研究一下第二句,找找剛創(chuàng)建的對(duì)象叫什么名字?有人說,它叫“Vehicle”。不對(duì),“Vehicle”是類(對(duì)象的創(chuàng)建模板)的名字。一個(gè)Vehicle類可以據(jù)此創(chuàng)建出無數(shù)個(gè)對(duì)象,這些對(duì)象不可能全叫“Vehicle”。對(duì)象連名都沒有,沒法直接訪問它。我們只能通過對(duì)象引用來間接訪問對(duì)象。
 
6.2  Vehicle veh2;

?
1
veh2 = veh1;

    由于veh1和veh2只是對(duì)對(duì)象的引用,第二行所做的不過是把veh1的引用(地址)賦值給veh2,使得veh1和veh2同時(shí)指向唯一的一個(gè)Vehicle對(duì)象。
 
6.3  veh2 = new Vehicle();
    則引用變量veh2改指向第二個(gè)對(duì)象。
    從以上敘述再推演下去,我們可以獲得以下結(jié)論:①一個(gè)對(duì)象引用可以指向0個(gè)或1個(gè)對(duì)象;②一個(gè)對(duì)象可以有N個(gè)引用指向它。

Java:數(shù)據(jù)類型轉(zhuǎn)換
1.Java的簡單類型及其封裝器類

1.1Java簡單類型與封裝類
我們知道,Java語言是典型的支持面向?qū)ο蟮某绦蛘Z言,但考慮到有些基本數(shù)據(jù)類型的結(jié)構(gòu)簡單,占內(nèi)存小且存取速度快等優(yōu)點(diǎn),Java依然提供了對(duì)這些非面向?qū)ο蟮暮唵螖?shù)據(jù)類型的支持。當(dāng)然,Java在提供大量的其它類時(shí),也提供了與簡單數(shù)據(jù)類型對(duì)應(yīng)的封裝類,于是,Java中就有了諸如int和Integer(float和Float、double和Double……)的不同的數(shù)據(jù)類型。
Java語言的數(shù)據(jù)類型有兩大類:一類是簡單類型,也稱主要類型(Primitive),另一類是引用類型(Reference)。簡單類型變量中存儲(chǔ)的是具體的值,而引用類型的變量中存儲(chǔ)的是對(duì)象的引用。
Java決定了每種簡單類型的大小。這些大小并不隨著機(jī)器結(jié)構(gòu)的變化而變化。這種大小的不可更改正是Java程序具有很強(qiáng)移植能力的原因之一。
下表列出了Java中定義的簡單類型、占用二進(jìn)制位數(shù)及對(duì)應(yīng)的封裝器類。
 
表 Java中的簡單類型

淺析Java中對(duì)象的創(chuàng)建與對(duì)象的數(shù)據(jù)類型轉(zhuǎn)換

1.2為什么使用封裝類
以int和Integer為例來說,雖然從本質(zhì)上它們都代表一個(gè)32位的整數(shù),但它們卻是不同的數(shù)據(jù)類型。事實(shí)上,Java中直接使用的整數(shù)都為int(就int和Integer而言),只有當(dāng)數(shù)據(jù)必須作為對(duì)象的身份出現(xiàn)時(shí),才必須用int對(duì)應(yīng)的封裝器Intege將整數(shù)值封裝成對(duì)象。
例如:為給java.util包中的Vector添加一個(gè)整數(shù),就必須如下將該整數(shù)值封裝在一個(gè)Integer實(shí)例中:

?
1
2
3
Vector v=new Vector();
int k=121;
v.addElemt(new Integer(k));

 
另外,Integer作為int對(duì)應(yīng)的封裝器類,提供了許多的方法,比如:Integer的構(gòu)造方法、Integer向其它各種數(shù)值類型的轉(zhuǎn)換方法等等,而這些是int類型數(shù)據(jù)所沒有的。
2.Java中的常量
我們需要注意以下幾種類型的常量。
2.1十六進(jìn)制整型常量
    以十六進(jìn)制表示時(shí),需以0x或0X開頭,如0xff,0X9A。
 
2.2八進(jìn)制整型常量
八進(jìn)制必須以0開頭,如0123,034。
 
2.3長整型
    長整型必須以L作結(jié)尾,如9L,342L。
 
2.4浮點(diǎn)數(shù)常量
由于小數(shù)常量的默認(rèn)類型是double型,所以float類型的后面一定要加f(F)。同樣帶小數(shù)的變量默認(rèn)為double類型。
float f;

?
1
f=1.3f;//必須聲明f。

 
2.5字符常量
字符型常量需用兩個(gè)單引號(hào)括起來(注意字符串常量是用兩個(gè)雙引號(hào)括起來)。Java中的字符占兩個(gè)字節(jié)。
一些常用的轉(zhuǎn)義字符。
①\r表示接受鍵盤輸入,相當(dāng)于按下了回車鍵;
②\n表示換行;
③\t表示制表符,相當(dāng)于Table鍵;
④\b表示退格鍵,相當(dāng)于Back Space鍵;
⑤\'表示單引號(hào);
⑥\''表示雙引號(hào);
⑦\(yùn)\表示一個(gè)斜杠\。
3.簡單數(shù)據(jù)類型之間的轉(zhuǎn)換
簡單類型數(shù)據(jù)間的轉(zhuǎn)換,有兩種方式:自動(dòng)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換,通常發(fā)生在表達(dá)式中或方法的參數(shù)傳遞時(shí)。
3.1自動(dòng)轉(zhuǎn)換
具體地講,當(dāng)一個(gè)較“小”數(shù)據(jù)與一個(gè)較“大”的數(shù)據(jù)一起運(yùn)算時(shí),系統(tǒng)將自動(dòng)將“小”數(shù)據(jù)轉(zhuǎn)換成“大”數(shù)據(jù),再進(jìn)行運(yùn)算。而在方法調(diào)用時(shí),實(shí)際參數(shù)較“小”,而被調(diào)用的方法的形式參數(shù)數(shù)據(jù)又較“大”時(shí)(若有匹配的,當(dāng)然會(huì)直接調(diào)用匹配的方法),系統(tǒng)也將自動(dòng)將“小”數(shù)據(jù)轉(zhuǎn)換成“大”數(shù)據(jù),再進(jìn)行方法的調(diào)用,自然,對(duì)于多個(gè)同名的重載方法,會(huì)轉(zhuǎn)換成最“接近”的“大”數(shù)據(jù)并進(jìn)行調(diào)用。
這些類型由“小”到“大”分別為 (byte,short,char)--int--long--float—double。這里我們所說的“大”與“小”,并不是指占用字節(jié)的多少,而是指表示值的范圍的大小。
請(qǐng)看下面的示例:
 
①下面的語句可以在Java中直接通過:

?
1
2
3
4
5
6
byte b;
int i=b;
long l=b;
float f=b;
double d=b;

②如果低級(jí)類型為char型,向高級(jí)類型(整型)轉(zhuǎn)換時(shí),會(huì)轉(zhuǎn)換為對(duì)應(yīng)ASCII碼值,例如

?
1
2
3
char c='c';
int i=c;
System.out.println("output:"+i);

 
輸出:

?
1
output:99;

 
③對(duì)于byte,short,char三種類型而言,他們是平級(jí)的,因此不能相互自動(dòng)轉(zhuǎn)換,可以使用下述的強(qiáng)制類型轉(zhuǎn)換。

?
1
2
3
short i=99 ;
char c=(char)i;
System.out.println("output:"+c);

輸出:

?
1
output:c;

 
④對(duì)象多態(tài)中若有方法:

?
1
2
3
4
5
6
f(byte x){……};
f(short x) {……};
f(int x) {……};
f(long x) {……};
f(float x) {……};
f(double x) {……};

又有:char y='A';那么,語句f(y)會(huì)調(diào)用哪一個(gè)方法呢?答案是:f(int x) {……}方法,因?yàn)樗男螀⒈葘?shí)參“大”且是最“接近”的。
 
而對(duì)于方法:

?
1
2
f(float x) {……};
f(double x) {……};

又有:long y=123L;那么,語句f(y)調(diào)用的方法則是f(float x) {……}。
 
3.2強(qiáng)制轉(zhuǎn)換
將“大”數(shù)據(jù)轉(zhuǎn)換為“小”數(shù)據(jù)時(shí),你可以使用強(qiáng)制類型轉(zhuǎn)換。即你必須采用下面這種語句格式:

?
1
int n=(int)3.14159/2;

可以想象,這種轉(zhuǎn)換肯定可能會(huì)導(dǎo)致溢出或精度的下降。
 
3.3表達(dá)式的數(shù)據(jù)類型自動(dòng)提升
    關(guān)于類型的自動(dòng)提升,注意下面的規(guī)則。
①所有的byte,short,char型的值將被提升為int型;
②如果有一個(gè)操作數(shù)是long型,計(jì)算結(jié)果是long型;
③如果有一個(gè)操作數(shù)是float型,計(jì)算結(jié)果是float型;
④如果有一個(gè)操作數(shù)是double型,計(jì)算結(jié)果是double型;
例,

?
1
2
3
byte b;
  b=3;
  b=(byte)(b*3);//必須聲明byte。

 
3.4包裝類過渡類型轉(zhuǎn)換
一般情況下,我們首先聲明一個(gè)變量,然后生成一個(gè)對(duì)應(yīng)的包裝類,就可以利用包裝類的各種方法進(jìn)行類型轉(zhuǎn)換了。例如:
①當(dāng)希望把float型轉(zhuǎn)換為double型時(shí):

?
1
2
3
float f1=100.00f;
Float F1=new Float(f1);
double d1=F1.doubleValue();//F1.doubleValue()為Float類的返回double值型的方法

 
②當(dāng)希望把double型轉(zhuǎn)換為int型時(shí):

?
1
2
3
double d1=100.00;
Double D1=new Double(d1);
int i1=D1.intValue();

 
簡單類型的變量轉(zhuǎn)換為相應(yīng)的包裝類,可以利用包裝類的構(gòu)造函數(shù)。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各個(gè)包裝類中,總有形為××Value()的方法,來得到其對(duì)應(yīng)的簡單類型數(shù)據(jù)。利用這種方法,也可以實(shí)現(xiàn)不同數(shù)值型變量間的轉(zhuǎn)換,例如,對(duì)于一個(gè)雙精度實(shí)型類,intValue()可以得到其對(duì)應(yīng)的整型變量,而doubleValue()可以得到其對(duì)應(yīng)的雙精度實(shí)型變量。
4.字符串與其它類型間的轉(zhuǎn)換
4.1其它類型向字符串的轉(zhuǎn)換
①調(diào)用類的串轉(zhuǎn)換方法:X.toString();
②自動(dòng)轉(zhuǎn)換:X+“”;
③使用String的方法:String.volueOf(X);
 
4.2字符串作為值,向其它類型的轉(zhuǎn)換
①先轉(zhuǎn)換成相應(yīng)的封裝器實(shí)例,再調(diào)用對(duì)應(yīng)的方法轉(zhuǎn)換成其它類型
例如,字符中“32.1”轉(zhuǎn)換double型的值的格式為:new Float(“32.1”).doubleValue()。也可以用:Double.valueOf(“32.1”).doubleValue()
 
②靜態(tài)parseXXX方法

?
1
2
3
4
5
6
7
String s = "1";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );

 
③Character的getNumericValue(char ch)方法
具體可查閱api。
5.Date類與其它數(shù)據(jù)類型的相互轉(zhuǎn)換
整型和Date類之間并不存在直接的對(duì)應(yīng)關(guān)系,只是你可以使用int型為分別表示年、月、日、時(shí)、分、秒,這樣就在兩者之間建立了一個(gè)對(duì)應(yīng)關(guān)系,在作這種轉(zhuǎn)換時(shí),你可以使用Date類構(gòu)造函數(shù)的三種形式:
①Date(int year, int month, int date):以int型表示年、月、日
②Date(int year, int month, int date, int hrs, int min):以int型表示年、月、日、時(shí)、分
③Date(int year, int month, int date, int hrs, int min, int sec):以int型表示年、月、日、時(shí)、分、秒
在長整型和Date類之間有一個(gè)很有趣的對(duì)應(yīng)關(guān)系,就是將一個(gè)時(shí)間表示為距離格林尼治標(biāo)準(zhǔn)時(shí)間1970年1月1日0時(shí)0分0秒的毫秒數(shù)。對(duì)于這種對(duì)應(yīng)關(guān)系,Date類也有其相應(yīng)的構(gòu)造函數(shù):Date(long date)。
獲取Date類中的年、月、日、時(shí)、分、秒以及星期你可以使用Date類的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以將其理解為將Date類轉(zhuǎn)換成int。
而Date類的getTime()方法可以得到我們前面所說的一個(gè)時(shí)間對(duì)應(yīng)的長整型數(shù),與包裝類一樣,Date類也有一個(gè)toString()方法可以將其轉(zhuǎn)換為String類。
有時(shí)我們希望得到Date的特定格式,例如20020324,我們可以使用以下方法,首先在文件開始引入,

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();
 
//如果希望得到Y(jié)YYYMMDD的格式
SimpleDateFormat sy1=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sy1.format(date);
 
//如果希望分開得到年,月,日
SimpleDateFormat sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);

 

延伸 · 閱讀

精彩推薦
595
主站蜘蛛池模板: 欧美顶级毛片在线播放 | 亚洲国产精品网站 | 亚洲一区二区三区蜜桃 | 人人干天天干 | 一级片一级片 | 中文字幕一二三区 | 欧美香蕉 | 中文在线视频 | 精品一区二区三区免费毛片 | 91精品国产综合久久久久久 | 一道本一区二区三区 | 日本中文字幕在线播放 | 久久久91精品国产一区二区三区 | 国产精品久久久久久久久久99 | 午夜视频在线观看网站 | 国产色网 | 91av视频在线观看 | 日本丶国产丶欧美色综合 | 久久久久久一级片 | 欧美精品在线一区二区三区 | a欧美| 精品免费一区 | 国产成人精品综合 | 亚洲欧美综合精品久久成人 | 亚洲精品成人免费 | 欧美激情国产日韩精品一区18 | 午夜爽视频 | 91免费观看视频 | 亚洲伊人久久综合 | 欧美日韩在线免费观看 | 一级毛片国产 | 色伊人| 每日更新av | 婷婷国产精品 | 亚洲精品一二三 | 黄色小网站免费观看 | 欧美一级全黄 | 美女视频一区二区三区 | 欧美永久精品 | 最近中文字幕mv免费高清在线 | 99热这里有 |