第六章Java工具類_第1頁(yè)
第六章Java工具類_第2頁(yè)
第六章Java工具類_第3頁(yè)
第六章Java工具類_第4頁(yè)
第六章Java工具類_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第六章Java工具類6.1Java類集框架6.2泛型和枚舉6.3常用類本章重點(diǎn)集合類、數(shù)學(xué)類的使用6.1Java類集框架6.1.1JAVA中的類集框架6.1.2List接口及實(shí)現(xiàn)類6.1.3Set接口及實(shí)現(xiàn)類6.1.4Map接口及實(shí)現(xiàn)類1Java的類集框架JAVA的類集框架實(shí)現(xiàn)了對(duì)各種數(shù)據(jù)結(jié)構(gòu)的封裝,極大的降低了我們對(duì)數(shù)據(jù)管理與處理的難度。所謂框架就是一個(gè)類庫(kù)的集合。集合框架就是一個(gè)用來(lái)表示和操作集合的統(tǒng)一的架構(gòu),包含了實(shí)現(xiàn)集合的接口與類。類集(Collection或稱為容器)是一種包含其它對(duì)象,并提供對(duì)所包含對(duì)象的操作方法的對(duì)象,其包含的對(duì)象可以由同一類型的對(duì)象組成,也可以由不同類型的對(duì)象組成。6.1Java中的類集框架概念2類集框架中的接口6.1Java中的類集框架層次2集合框架中的接口Collection:集合層次中的根接口,JDK沒(méi)有提供這個(gè)接口直接的實(shí)現(xiàn)類。Set:不能包含重復(fù)的元素。對(duì)象可能不是按存放的次序存放,也就是說(shuō)不能像數(shù)組一樣按索引的方式進(jìn)行訪問(wèn),SortedSet是一個(gè)按照升序排列元素的Set。List:是一個(gè)有序的集合,可以包含重復(fù)的元素。提供了按索引訪問(wèn)的方式。Map:包含了key-value對(duì)。Map不能包含重復(fù)的key。SortedMap是一個(gè)按照升序排列key的Map。6.1Java中的類集框架接口2集合框架中的實(shí)現(xiàn)類SortedSetSetListMapHashSet

LinkedHashSet

TreeSet

ArrayList

LinkedList

SortedMapHashMap

TreeMap

6.1Java中的類集框架接口與類2Collection接口Collection接口是構(gòu)造類集框架的基礎(chǔ)。它聲明所有類集都將擁有的核心方法,因?yàn)樗蓄惣紝?shí)現(xiàn)Collection,所以熟悉它的方法對(duì)于清楚地理解框架是必要的。下面是該類接口中聲明的最常用的方法:booleanadd(Objectobj)

將obj添加對(duì)類集中voidclear()

從類集中刪除所有元素,即清空類集booleancontains(Objectobj)

如果obj是調(diào)用類集的一個(gè)元素,則返回true,否則,返回false,依賴于對(duì)象的equals()方法booleanisEmpty()

如果調(diào)用類集是空的,則返回true;否則返回falseIteratoriterator()

返回調(diào)用類集的迭代器booleanremove(Objectobj)

從調(diào)用類集中刪除obj的一個(gè)實(shí)例。如果這個(gè)元素被刪除了,則返回true;否則返回falseintsize()

返回調(diào)用類集中元素的個(gè)數(shù)6.1Java中的類集框架Collection接口2Collection接口中的其它方法booleanaddAll(Collectionc)將集合c中的所有元素都加入到當(dāng)前類集中booleancontainsAll(Collectionc)如果調(diào)用類集包含了c中的所有元素,則返回true;否則,返回falsebooleanremoveAll(Collectionc)從調(diào)用類集中刪除c的所有元素。如果類集被改變了(也就是說(shuō)元素被刪除了),則返回true;否則返回falsebooleanretainAll(Collectionc)刪除調(diào)用類集中除了包含在c中的元素之外的全部元素。如果類集被改變了(也就是說(shuō)元素被刪除了),則返回true,否則返回falseObject[]toArray()返回一個(gè)數(shù)組,該數(shù)組包含了所有存儲(chǔ)在調(diào)用類集中的元素。數(shù)組元素是類集元素的拷貝Object[]toArray(Objectarray[])返回一個(gè)數(shù)組,該數(shù)組僅僅包含了那些類型與數(shù)組元素類型匹配的類集元素。數(shù)組元素是類集元素的拷貝。如果array的大小與匹配元素的個(gè)數(shù)相等,它們被返回到array。如果array的大小比匹配元素的個(gè)數(shù)小,將分配并返回一個(gè)所需大小的新數(shù)組,如果array的大小比匹配元素的個(gè)數(shù)大,在數(shù)組中,在類集元素之后的單元被置為null。如果任一類集元素的類型都不是array的子類型,則引發(fā)一個(gè)ArrayStoreException異常6.1Java中的類集框架Collection接口2ArrayList和LinkedListArrayList:我們可以將其看作是能夠自動(dòng)增長(zhǎng)容量的數(shù)組。利用ArrayList的toArray()返回一個(gè)數(shù)組。Arrays.asList()返回一個(gè)列表。Liststooges=Arrays.asList("Larry","Moe","Curly");

LinkedList是采用雙向循環(huán)鏈表實(shí)現(xiàn)的。利用LinkedList實(shí)現(xiàn)棧(stack)、隊(duì)列(queue)、雙向隊(duì)列,包含:getFirstgetLastaddFirstaddLastremoveFirstremoveLastArrayList底層采用數(shù)組完成,而LinkedList則是以一般的雙向鏈表(double-linkedlist)完成,其內(nèi)每個(gè)對(duì)象除了數(shù)據(jù)本身外,還有兩個(gè)引用,分別指向前一個(gè)元素和后一個(gè)元素。如果我們經(jīng)常在List的開(kāi)始處增加元素,或者在List中進(jìn)行插入和刪除操作,應(yīng)該使用LinkedList,否則的話,使用ArrayList將更加快速。6.1Java中的類集框架List接口類2List類使用舉例使用List接口的實(shí)現(xiàn)類Collectioncol=newArrayList();col=newLinkedList();col=newVector();//以下代碼使用這三個(gè)類輸出效果一致

col.add(newInteger(50));col.add(newFloat(3.14f));col.add("hello");col.add(newInteger(50));//添加

col.add(newDate());Iteratoriter=col.iterator();//獲取每一元素,并輸出

while(iter.hasNext()){ Objectitem=iter.next();System.out.println(item);}

col.remove(newFloat(3.14f));

//刪除

System.out.println("集合長(zhǎng)度:"+col.size());System.out.println(col.contains("hello"));//是否有"hello"col.clear();//清空案例6-16.1Java中的類集框架List類實(shí)例2List類使用舉例List接口使用舉例

Listlst=newArrayList();lst.add(newInteger(50));lst.add("hello");lst.add(newDate());lst.add(0,newInteger(30));//在指定位置添加

//輸出

for(inti=0;i<lst.size();i++)System.out.println(lst.get(i));System.out.println("hello是類集中的第"+lst.indexOf("hello")+"個(gè)元素");lst.remove(newInteger(30));lst.remove(1);//根據(jù)編號(hào)刪除6.1Java中的類集框架List類實(shí)例3HashSet和TreeSetTreeSet是依靠TreeMap來(lái)實(shí)現(xiàn)的。TreeSet是一個(gè)有序集合,TreeSet中元素將按照升序排列,缺省是按照自然順序進(jìn)行排列,意味著TreeSet中元素要實(shí)現(xiàn)Comparable接口。我們可以在構(gòu)造TreeSet對(duì)象時(shí),傳遞實(shí)現(xiàn)了Comparator接口的比較器對(duì)象。HashSet是基于Hash算法實(shí)現(xiàn)的,其性能通常都優(yōu)于TreeSet。我們通常都應(yīng)該使用HashSet,在我們需要排序的功能時(shí),我們才使用TreeSet。案例6-36.1Java中的類集框架Set接口類3Set類使用舉例使用Set接口的實(shí)現(xiàn)類Collectioncol=newTreeSet();col=newHashSet();

col.add(newInteger(50));col.add(newInteger(50));col.add("hello");col.add(newFloat(3.14f));col.add(newDate());//添加

//添加過(guò)程會(huì)出異常,為什么?

Iteratoriter=col.iterator();//獲取每一元素,并輸出

while(iter.hasNext()){Objectitem=iter.next();System.out.println(item);}col.remove(newFloat(3.14f));//刪除

System.out.println("集合長(zhǎng)度:"+col.size());System.out.println(col.contains("hello"));//是否有"hello"col.clear();//清空//考慮一下,與使用List接口的實(shí)現(xiàn)類相比,效果有什么不同6.1Java中的類集框架Set類實(shí)例3集合類使用舉例之VectorVector是JDK1.2之前的類,向量。但為了程序的通用性,最好不要使用其特有的方法,下面的代碼演示了其特有方法的使用

Vectorv=newVector();v.addElement("aaaa");//添加,等同于v.add("aaaa");Objectobj=v.elementAt(0);//獲取指定位置的元素,等同于v.get(0);v.removeElement("aaa");//刪除,等同于v.remove("aaa")v.removeElementAt(0);//等同于v.remove(0)v.removeAllElements();//清空,等同于v.clear()Enumerationenu=v.elements();while(enu.hasMoreElements())//輸出

System.out.println(enu.nextElement());6.1Java中的類集框架Vector4Map映射(map)是一個(gè)存儲(chǔ)關(guān)鍵字和值的關(guān)聯(lián)或者說(shuō)是關(guān)鍵字/值對(duì)的對(duì)象。給定一個(gè)關(guān)鍵字,可以得到它的值。關(guān)鍵字和值都是對(duì)象。關(guān)鍵字必須是唯一的。但值是可以被復(fù)制的。Map接口映射唯一關(guān)鍵字到值。關(guān)鍵字(key)是以后用于檢索值的對(duì)象。給定一個(gè)關(guān)鍵字和一個(gè)值,可以存儲(chǔ)這個(gè)值到一個(gè)Map對(duì)象中。當(dāng)這個(gè)值被存儲(chǔ)以后,就可以使用它的關(guān)鍵字來(lái)檢索它。映射循環(huán)使用兩個(gè)基本操作:get()和put()。使用put()方法可以將一個(gè)指定了關(guān)鍵字和值的值加入映射。為了得到值,可以通過(guò)將關(guān)鍵字作為參數(shù)來(lái)調(diào)用get()方法。調(diào)用返回該值。6.1Java中的類集框架Map4Map接口的方法voidclear()從調(diào)用映射中刪除所有的關(guān)鍵字/值對(duì)booleancontainsKey(Objectk)檢查調(diào)用映射中是否包含關(guān)鍵字KbooleancontainsValue(Objectv)檢查調(diào)用映射中是否包含值VObjectget(Objectk)返回與關(guān)鍵字k相關(guān)聯(lián)的值booleanisEmpty()如果調(diào)用映射是空的,則返回true;否則返回falseObjectput(Objectk,Objectv)將一個(gè)鍵值對(duì)加入調(diào)用映射Objectremove(Objectk)刪除關(guān)鍵字等于k的鍵值對(duì)intsize()返回映射中關(guān)鍵字/值對(duì)的個(gè)數(shù)SetentrySet()返回包含了映射中的項(xiàng)的集合(Set)。該集合包含了類型Map.Entry的對(duì)象。這個(gè)方法為調(diào)用映射提供了一個(gè)集合“視圖”SetkeySet()返回一個(gè)包含調(diào)用映射中關(guān)鍵字的集合(Set)。這個(gè)方法為調(diào)用映射的關(guān)鍵字提供了一個(gè)集合“視圖”Collectionvalues()返回一個(gè)包含了映射中的值的類集。這個(gè)方法為映射中的值提供了一個(gè)類集“視圖”6.1Java中的類集框架Map接口4Map接口Map接口的可用實(shí)現(xiàn)類主要有HashMap,TreeMap,Hashtable,PropertiesHashtable,Properties是JDK1.0/1.1中的HashMap對(duì)key進(jìn)行散列。TreeMap按照key進(jìn)行排序。和Set類似,HashMap的速度通常都比TreeMap快,只有在需要排序的功能的時(shí)候,才使用TreeMap。案例6-46.1Java中的類集框架Map接口4Map接口對(duì)Map接口的操作,常常是轉(zhuǎn)換為對(duì)類集的操作,一個(gè)Map可通過(guò)自身的方法轉(zhuǎn)換為三個(gè)類集:Key,Value,Key+ValueSetkeys=map.keySet()Collectionsvalues=map.values();Setkvs=map.entrySet();內(nèi)容為Map.Entry的集合6.1Java中的類集框架Map接口4Map使用舉例Mapm=newHashMap();//TreeMap,Hashtable,Properties均可m.put("張三",);m.put("李四",);m.put("王五",);m.put("張三",);//覆蓋掉第一個(gè)值System.out.println("是否有李四的電話號(hào)碼:”

+m.containsKey("李四"));m.remove("王五");//刪除王五的記錄StringzsCode=(String)m.get("張三");6.1Java中的類集框架Map接口4Map使用舉例//輸出所有電話薄

//通過(guò)迭代Key

Setkeys=m.keySet();Iteratoriter=keys.iterator();while(iter.hasNext()){Objectkey=iter.next();Objectvalue=m.get(key);System.out.println(key+":"+value);}//通過(guò)迭代MapEntry,一個(gè)Map.Entry是一個(gè)Key+value的組合

Setentrys=m.entrySet();Iteratoritr=entrys.iterator();while(itr.hasNext()){Map.Entryentry=(Map.Entry)itr.next();Stringkey=(String)entry.getKey();Stringvalue=(String)entry.getValue();System.out.println(key+":"+value);6.1Java中的類集框架Map接口5Properties介紹屬性(Properties)是Hashtable的一個(gè)子類。它用來(lái)保持值的列表,在其中關(guān)鍵字和值都是字符串(String)Properties類的一個(gè)有用的功能是可以指定一個(gè)默認(rèn)屬性,如果沒(méi)有值與特定的關(guān)鍵字相關(guān)聯(lián),則返回這個(gè)默認(rèn)屬性。例如,默認(rèn)值可以與關(guān)鍵字一起在getProperty()方法中被指定——如getProperty(“name”,“defaultvalue”)。如果“name”值沒(méi)有找到,則返回“defaultvalue”Properties中主要提供了以下獨(dú)特的方法:

ObjectsetProperty(String

key,String

value)添加值對(duì),key與Value均為字符串

StringgetProperty(Stringkey)根據(jù)key檢索對(duì)應(yīng)的Valuevoidstore(OutputStream

out,String

header)將所有的鍵值對(duì)寫入指定輸出流

voidload(InputStream

inStream)

從指定輸入流中載入鍵值對(duì)

voidlist(PrintWriter

out)

用指定的流顯示鍵值對(duì)內(nèi)容

6.1Java中的類集框架PropertiesJDK1.2對(duì)以前類集的替代用ArrayList代替了Vector。用HashMap代替了Hashtable。用LinkedList代替了Stack。相對(duì)于ArrayList和HashMap,Vector和Hashtable中所有的方法都是線程同步的。類集總結(jié)類集框架為程序員提供了一個(gè)功能強(qiáng)大的設(shè)計(jì)方案以解決編程過(guò)程中面臨的大多數(shù)任務(wù)。下一次當(dāng)你需要存儲(chǔ)和檢索信息時(shí),可考慮使用類集。記住,類集不僅僅是專為那些“大型作業(yè)”,例如聯(lián)合數(shù)據(jù)庫(kù),郵件列表或產(chǎn)品清單系統(tǒng)等所專用的。它們對(duì)于一些小型作業(yè)也是很有效的。例如,TreeMap可以給出一個(gè)很好的類集以保留一組文件的字典結(jié)構(gòu)。TreeSet在存儲(chǔ)工程管理信息時(shí)是十分有用的。坦白地說(shuō),對(duì)于采用基于類集的解決方案而受益的問(wèn)題種類只受限于你的想象力。6.2

泛型和枚舉6.2.1Java中的泛型6.2.2Java中的枚舉1泛型

泛型是JavaSE1.5的新特性,泛型的本質(zhì)是參數(shù)化類型,也就是說(shuō)所操作的數(shù)據(jù)類型被指定為一個(gè)參數(shù)。這種參數(shù)類型可以用在類、接口和方法的創(chuàng)建中,分別稱為泛型類、泛型接口、泛型方法。Java語(yǔ)言引入泛型的好處是安全簡(jiǎn)單。6.2Java中的泛型有兩個(gè)類如下,要構(gòu)造兩個(gè)類的對(duì)象,并打印出各自的成員xpublicclassStringFoo{

privateStringx;

publicStringFoo(Stringx){

this.x=x;

}

publicStringgetX(){

returnx;

}

publicvoidsetX(Stringx){

this.x=x;

}}publicclassDoubleFoo{

privateDoublex;

publicDoubleFoo(Doublex){

this.x=x;

}

publicDoublegetX(){

returnx;

}

publicvoidsetX(Doublex){

this.x=x;

}}

以上的代碼實(shí)在無(wú)聊6.2Java中的泛型引入定義對(duì)上面的兩個(gè)類進(jìn)行重構(gòu),寫成一個(gè)類publicclassObjectFoo{

privateObjectx;

publicObjectFoo(Objectx){this.x=x;

}

publicObjectgetX(){returnx;

}

publicvoidsetX(Objectx){this.x=x;

}}

6.2Java中的泛型引入定義強(qiáng)制轉(zhuǎn)換publicclassObjectFooDemo{

publicstaticvoidmain(Stringargs[]){

ObjectFoostrFoo=newObjectFoo(newStringFoo("HelloGenerics!"));

ObjectFoodouFoo=newObjectFoo(newDoubleFoo(Double("33")));

ObjectFooobjFoo=newObjectFoo(newObject());

System.out.println("strFoo.getX="+(StringFoo)strFoo.getX());

System.out.println("douFoo.getX="+(DoubleFoo)douFoo.getX());

System.out.println("objFoo.getX="+objFoo.getX());

}}6.2Java中的泛型引入定義用Java5泛型來(lái)實(shí)現(xiàn)案例6-5publicclassGenericsFoo<T>{

privateTx;

publicGenericsFoo(Tx){this.x=x;

}

publicTgetX(){returnx;

}

publicvoidsetX(Tx){this.x=x;

}}6.2Java中的泛型如何定義實(shí)例化publicclassGenericsFooDemo{

publicstaticvoidmain(Stringargs[]){

GenericsFoo<String>strFoo=newGenericsFoo<String>("HelloGenerics!");

GenericsFoo<Double>douFoo=newGenericsFoo<Double>(newDouble("33"));

GenericsFoo<Object>objFoo=newGenericsFoo<Object>(newObject());

System.out.println("strFoo.getX="+strFoo.getX());

System.out.println("douFoo.getX="+douFoo.getX());

System.out.println("objFoo.getX="+objFoo.getX());

}}6.2Java中的泛型使用泛型2枚舉枚舉的本質(zhì)是類:定義枚舉:可以有方法,包括構(gòu)造方法。枚舉類可以實(shí)現(xiàn)接口。每個(gè)枚舉值可以實(shí)現(xiàn)接口帶有抽象方法的枚舉類6.2Java中的枚舉型要點(diǎn)枚舉定義publicenumENumColor{Red,Orange,Yellow,Green,Blue;

publicStringgetColorString(){switch(this.ordinal()){case0:return"ColorisRed"; case1:return"ColorisOrange";case2:return"ColorisYellow";case3:return"ColorisGreen";case4:return"ColorisBlue";default:return"invalidColor";}}};6.2Java中的枚舉型定義枚舉實(shí)例案例6-6publicclassENumExample{publicstaticvoidmain(String[]args){

for(ENumColorcolor:ENumColor.values()){System.out.println(color+"-----"+

color.getColorString());}System.out.println("\n\nXXXXConstvalue:"+

ENumColor.Yellow);}}6.2Java中的枚舉型應(yīng)用了解java.lang包掌握包裝類

掌握String、StringBuilder、StringBuffer

以下類:ClassObjectDateCalendarMath與Math.random()Random類6.3常用類Class類案例6-7使用對(duì)象中的getClass()方法使用靜態(tài)forName()方法使用自定義ClassLoader

對(duì)象加載新類創(chuàng)建的對(duì)象或或無(wú)需聲明自動(dòng)創(chuàng)建對(duì)象通過(guò)6.3Class類特點(diǎn)getClass()和getSuperclass()classStoreString{protectedStoreString(){}privateStringname="diana";}classStoreIntegerextendsStoreString{protectedStoreInteger(){}privateintdeptno;}publicclassClassDemo{protectedClassDemo(){}publicstaticvoidmain(String[]args){StoreStringobjString=newStoreString();StoreIntegerobjInteger=newStoreInteger();ClassobjClass;

objClass=objString.getClass();System.out.println(“objString對(duì)象的類型是:“+objClass.getName());objClass=objInteger.getClass();System.out.println(“objInteger對(duì)象的類型是:"+objClass.getName());objClass=objClass.getSuperclass();System.out.println(“objInteger的父類是"+objClass.getName());}}6.3Class類使用Object類方法說(shuō)明booleanequals(Objectobj)將當(dāng)前對(duì)象實(shí)例與給定的對(duì)象進(jìn)行比較,檢查它們是否相等voidfinalize()throwsThrowable當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法。通常被子類重寫StringtoString()返回此對(duì)象的字符串表示voidwait()throwsInterruptedException使當(dāng)前線程進(jìn)入等待狀態(tài)所有類的父類默認(rèn)情況下,用戶定義的類擴(kuò)展自O(shè)bject類6.3Object類使用Date類Date類表示日期和時(shí)間提供操縱日期和時(shí)間各組成部分的方法Date類的最佳應(yīng)用之一是獲取系統(tǒng)當(dāng)前時(shí)間構(gòu)造方法說(shuō)明Date()使用當(dāng)天的日期創(chuàng)建DateDate(longdt)使用自1970年1月1日以后的指定毫秒數(shù)創(chuàng)建Date6.3Date類使用Date類的使用voiddisplay(){StringstrDate,strTime="";

DateobjDate=newDate();System.out.println(“今天的日期是:"+objDate);

longtime=objDate.getTime();System.out.println(“自1970年1月1日起"+“以毫秒為單位的時(shí)間(GMT):"+time);

strDate=objDate.toString();//提取GMT時(shí)間

strTime=strDate.substring(11,(strDate.length()-4));//按小時(shí)、分鐘和秒提取時(shí)間

strTime=“時(shí)間:"+strTime.substring(0,8);System.out.println(strTime);}6.3Date類使用日期格式importjava.util.*;importjava.text.*;classAAA{ publicstaticvoidmain(String[]args) { Randomrnd=newRandom(); intx=rnd.nextInt(); System.out.println("HelloWorld!"+x); doubled=Math.random(); System.out.println("HelloWorld!="+d);

SimpleDateFormatsd=newSimpleDateFormat("yyyy:MM:dd----hh-mm-ss"); System.out.println(sd.format(newDate())); }}6.3Date類使用Random類案例6-8此類生成隨機(jī)數(shù)兩種構(gòu)造方法Random類的方法:newRandom(long);沒(méi)有參數(shù)

nextInt()nextFloat()nextDouble()Doubled=Math.random();//在0—1之間Randomrnd=newRandom();intx=rnd.nextInt(1000);//在0—1000之間intx=rnd.nextInt();6.3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論