《Java编程异常处理》ppt课件_第1页
《Java编程异常处理》ppt课件_第2页
《Java编程异常处理》ppt课件_第3页
《Java编程异常处理》ppt课件_第4页
《Java编程异常处理》ppt课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第六章第六章 异常异常 1.异常的概念 2.异常处理的方法 3.java的异常类 4.异常处理 5.自定义异常的实现6.断言1.异常的概念异常的概念 由于硬件错误,资源耗尽以及输入错误的数据等,都可能导致程序运行时异常的产生.异常是运行时的错误异常是运行时的错误.异常产生时会中断指令的正常执行.java异常是java提供的用于处理程序中错误的一种机制.所谓错误是在程序的运行过程中产生的一些异常事件.如:除0,数组下标越界,所要读取的文件不存在等. 设计良好的程序都应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果,保障程序的键壮性.对于异常首先应该预

2、计到所有可能出现的情况,然后考虑能否完全防止异常.假如不能完全防止再考虑异常发生时的详细处理方法. java程序在执行过程中如出现异常事件,可以生成一个异常对象,该异常对象封装了异常的信息。并提交给java运行时环境,这个过程称为抛出throw异常,当java运行时环境接收到异常对象时,会寻找能处理这一异常对象的代码,并把当前异常对象交给其处理,这一过程称为捕获catch异常.java默认处理异常的方式为直接把异常对象包装的信息打印到命令行上.当异常发生时注意观察错误的名字和行号.1.public class FirstException2.3.public static void mainS

3、tring a = 2/0;5.System.out.printlna=+a;6.7.1.public class TestException2.3.public static void mainString arr = 1,2.,3;5.System.out.printlnarr3;6.7.运行上面的程序看也java也错的机制.2.异常处理的方法异常处理的方法当异常发生时,有两种处理方式:a. 捕获 b. 异常抛出a. 捕获.try-catch当异常发生时,通过异常的捕获可以来对发生的异常进展处理.try-catch方法:try可能出现异常的代码cat

4、ch异常类型1 异常引用异常类型1的处理代码.catch异常类型n 异常引用异常类型n的处理代码 注:1.try语句只能有一个,而catch语句块那么可以有任意多个.catch语句块紧跟在try语句块之后,而且catch语句块必须互相紧跟,它们之间不能有任何代码. 2.当在try语句块中发生异常时,程序将停顿继续往下执行.系统会把它封装成一个异常类对象,并把它交给catch语句块进入语句块相对应的异常类型的异常引用进展处理.假如没有异常发生,程序正常运行不会进入任何一个catch语句块.b. 异常抛出异常抛出. 不是所有异常在其产生的位置都能立即进展处理没有捕获到或处理不了 异常抛出分为:显性

5、再抛出和隐性再抛出将catch语句捕获的异常再次抛出,称为显性再抛出.假如只想把收到的异常再抛出,不必使用显性再抛出,使用隐性再抛出,只要在方法后用throws语句,方法内不用处理任何异常.两者异同两者异同: 1. 假设抛出的是捕获异常,隐性与显性再抛出都必须在方法声明中明确声明. 2. 显性再抛出是在方法体中使用throw语句将产生的异常抛出. 3. 隐性再抛出是在方法体中没有任何抛出异常的语句,假设产生异常将自动抛出.3.java的异常类的异常类 java类库中有一个java.lang.Throwable类,是所有异常类的超类.Throwable类有两个直接子类,Error与Excepti

6、on类,Exception类有一个子类RuntimeException.其中Exception类的直接或间接子类,除去RuntimException类的直接或间接子类,称为捕获异常必须处理的异常,其他的都为未捕获异常.ThrowableError Exception.未捕获异常 RuntimeException .捕获异常.未捕获异常a.捕获异常捕获异常必须处理的异常必须处理的异常 捕获异常一般是由外界因素产生的,即使程序本身没有问题,也有可能产生也可能恢复,在开发时必须考虑如何处理,否那么编译不通过.b. 未捕获异常未捕获异常不用处理的异常不用处理的异常 除了捕获异常以外的部分都是未捕获异常

7、,即Error类及其子类以及RuntimeException类及其子类. 继承自Error的类一般代表由硬件运行失败导致的严重错误,而其从严格意义上讲,不属于异常,一般来讲,程序不能从Error中恢复。而RuntimeException类的子类通常是指一些程序运行时错误引起的异常,所以也可以不对其进展处理.4.异常处理异常处理 4.1 try-catch1.public class FirstException 2.3.public static void mainString args 4.5. a = 2/0;7.System.out.printlna=+a;8.int a

8、r = null;9.System.out.printlnar.length;10.catchArithmeticException ae11.ae.printStackTrace;12.catchNullPointerException np13.np.printStackTrace;14.catchException e15.e.printStackTrace;.import .*;2.import java.io.*;3.public class CatchException4.5.public static void mainString args 6.7.try8

9、.ServerSocket ss = new ServerSocket8888;9.int i= 2/0;10.catchException ie11.ie.printStackTrace;.2 try-catch-finally1.public class TestFinally 2.3.public static int a =2/0;6.System.out.printlntry语句;7.return 1;8.catchException e9.e.printStackTrace;10.System.out.printlncatch语句;1

10、1.return 2;12.finally13.System.out.printlnfinally语句;14.return 3;15.16./System.out.printlntry-catch外语句;17.18.19.public static void mainString args 20.21.System.out.printlnget; throw/throws1.public class ThrowException 2.3.public static void a = new int3;5.a8 = 12;6.7.8.public static v

11、oid b9.c;10.11.12.public static void a13.try14.b;15.catchArrayIndexOutOfBoundsException ai16.ai.printStackTrace;0.public static void mainString args 21.22.a;23.System.out.println程序正常执行!;24.25.1.public class ThrowException12.3.public static void b throws ArrayIndexOutOfBoundsException4.try5

12、.int a = new int3;6.a8 = 12;7.catchArrayIndexOutOfBoundsException ai8.throw ai;/显性抛出异常2.public static void a13.try14.b;15.catchRuntimeException re16.re.printStackTrace;0.public static void mainString args 21.22.a;23.System.out.println程序正常执行!;24.25.1./假如只是想把收到的异常再抛出,不必使用显性再抛出,使用2./

13、隐性再抛出比显性再抛出简单,效果是一样的3./对于捕获异常,显性和隐性都必须在方法声明中明确声明4./显性再抛出,用throw语句,隐性再抛出方法体中没有任何抛出异常的语句5./产生的异常自动抛出6.import .*;7.import java.io.*;8.9.public class ThrowException2 10.11.public static void myFunction throws IOException12.ServerSocket ss = new ServerSocket8888;13.14.15.public static void mainString arg

14、s 16.17.try18.19.myFunction;20.21.catch IOException e22.23.e.printStackTrace;24.25.System.out.println程序正常运行完毕!;26.27.1./方法重写,要求重写后的方法一定不能声明抛出新的捕获异常或比原方法范畴更广的捕获异常2.class Father 3.4.public void myFunction throws Exception5.System.out.println父类抛出exception异常;.class Son extends Father10.11.public

15、void myFunction throws InterruptedE a = null;13.System.out.printlna.length;14.System.out.println子类抛出interruptedException;8.public class OverWriteException19.20.public static void mainString args throws Exception21.Father f = new Son;22.f.myFunction;23.24.5.自定义异常的实现1./自定义的异常可以

16、继承自exception或其它的捕获异常类2.class AgeException extends Exception3.4.public AgeException5.6.public AgeExceptionString msg7.supermsg;1.public class Person12.13.private int age;14.15.public int getAge16.return this.age;17.18.19.public void setAgeint age throws AgeException20.ifage=021.throw new AgeE

17、xception年龄不能小于等于零!;22.else23.this.age = age;7.public static void mainString args28.Person p = new Person;29.try30.p.setAge100;31.catchException ae32.ae.printStackTrace;.断言断言 断言其设计初衷是为程序的开发与测试提供方便,在程序的测试过程中验证程序本身逻辑的正确性.Assert 逻辑表达式:xxxx;1./assert后的逻辑表达式为True执行后面的语句2./为False不会执行后面语

18、句,会抛出AssertionError异常,同时会打印3./信息表达式的值4./J2SE1.4以前是没有断言的5./java -ea 文件名6./ea表示enableassertions7.public class TestAssert 8.9./*10.public int myFunctionint i11.ifi0:程序逻辑出错,该值应该为正数!;22.return new inti;23.24.25.public static void mainString args 26.27.TestAssert t = new TestAssert;28.t.myFunction-10;29.3

19、0. 第七章第七章 java.langjava.lang包包 1.java.lang包简介 2.封装类 3.String/StringBuffer4.Math 5.Object 6.System 1.java.lang包简介包简介 java.lang包是java最广泛使用的包,它会被系统自动导入到所有的程序中.2.封装类封装类 为什么引用封装类:根本数据类型与对象之间是截然不同的,不能将根本数据类型的数据当作对象进展处理。但在很多情况下希望将根本数据类型数据当作对象使用. 封装类对象永不可变,不能被继承. 封装类提供以下两个方面的功能: a. 将根本数据类型封装后当作对象进展操作. b. 为根

20、本数据类型提供各种转换功能.根本数据类型与封装类根本数据类型与封装类根本类型 封装器类 构造器boolean Boolean BooleanString s或Booleanboolean valuebyte Byte ByteString s或者Bytebyte valuechar Character Characterchar valueshort Short ShortString s或者Shortshort valueint Integer IntegerString s或者Integerint valuelong Long LongString s或者Longlong value fl

21、oat Float FloatString s、Floatfloat value或者或者Floatdouble valuedouble Double DoubleString s或者Doubledouble value数据转换功能数据转换功能: 根本数据类型值转换为字符串:1.非静态转换方法:无参toString 2.静态转换方法:有参静态toString方法.静态转换字符串方法:静态方法 Boolean Byte Character Short Integer Long Float DoubletoStringxxx 有 有 有 有 有 有 有 有toStringxxx,sss 有 有toB

22、inaryStringxxx 有 有toOctalStringxxx 有 有toHexStringxxx 有 有 有 有字符串转换为根本数据类型值:1.非静态转换方法:xxxValue系列方法 2.静态转换方法:parsexxx方法xxxValue方法:方法 Boolean Byte Character Short Integer Long Float DoublebyteValue 有 有 有 有 有 有 shortValue 有 有 有 有 有 有intValue 有 有 有 有 有 有longValue 有 有 有 有 有 有floatValue 有 有 有 有 有 有doubleVal

23、ue 有 有 有 有 有 有booleanValue 有 charValue 有 静态parseXXX方法:静态方法静态方法 Boolean Byte Character Short Integer Long Float Double parseXXXString s 有 有 有 有 有 有 有 parseXXXString s,int i 有 有 有 有 其化常用方法:1.静态工厂方法:除了new创立封装类外,还可以用静态工厂方法valueOfvalueOf静态工厂方法:方法 Boolean Byte Character Short Integer Long Float Doublevalu

24、eOfxxx 有 有 有 有 有 有 有 有valueOfString s 有 有 有 有 有 有 有valueOfString s,int i 有 有 有 有 自动打包:可以直接将根本数据类型的值当作封装类对象使用.1.public class TestPacket2. static void showInteger i3. System.out.println接收Ingeter封装对象的数值为:+i.toString;4. 5. public static void mainString args6. show1000;/shownew Integer1000;7. 8.自动解包:可以直接

25、将封装对象赋值给根本的数据类型的变量.1.public class TestWiz2. public static void mainstring args3. Integer x = new Integer1000;4. int i = x+500;/int i = Value+500;5. System.out.println;6. 7.3.String/StringBufferA. String类a.字符串的创立:1.String str = xxx; 2.String str = new String参数列表;1.public class TestString2. publi

26、c static void mainString args3. String s1 = core java;/字符串简单创立方式4. String s2 = new Stringcore java; /标准new创立方式5. String s3 = ;/也是一个字符串,只是字符串没有内容.6. String s4 = null;/null代表没有对象7. System.out.printlns1+*+s2+*+S3+*+s4;8. 9.b. 常用构造器public Stringbyte bytespublic Stringbyte bytes,int offset,int lengthpubl

27、ic Stringbyte bytes,Stirng charsetName throws UnsupportedEncodingExceptionpublic Stringchar valuepublic Stringchar value,int offset,int countpublic StringString originalpublic StringStringBuffer buffer 1.public class TestStringConstructor2. public static void mainString args3. String s1 = java核心技术大全

28、;4. String s2 = new Strings1.getBytes,iso8859_1;5. System.out.println将s1转换为iso8895_1编码格式,结果为:+s2;6. String s3 = new Strings2.getBytesiso8859_1,gb2312;7. System.out.println将s1再转换为gb2312编码格式,结果为:+s3;8. 9.c. 重要方法:public char charAtint indexpublic byte getBytespublic byte getBytesString charsetName thro

29、ws UnsupportedEncodingExceptionpublic boolean equalsObject anObjectpublic boolean equalsIgnoreCaseString anotherStringpublic boolean endsWithString suffixpublic int indexOfint chpublic int indexOfString strpublic String substringint beginIndexpublic String substringint beginIndex,int endIndexpublic

30、String concatString strpublic String replacechar oldChar,char newCharpublic String replaceCharSequence target,CharSequence replacementpublic String splitString regexpublic String trimpublic String toStringpublic char toCharArraypublic static String valueOf参数列表1.public class TString 2.3.public static

31、 void mainString args throws Exception4.5.String ss = java core_java;6.char c = ss.charAt3;7.System.out.printlnc;8.String re = ss.concat.java;9.System.out.printlnre;/java core_java.java10.boolean bo = re.endsWith.java;11.System.out.printlnbo;12.byte by = re.getBytes;13.int i = re.indexOfa;14.System.

32、out.printlni;15.int ii = re.indexOfcore;16.System.out.printlnii;17.String sr = re.replacea,b;18.System.out.printlnsr;19.String sa = re.split.;20.forString obj:sa21.System.out.printlnobj;22.23.String sub = re.substring6, 10;24.System.out.printlnsub;25.String st = re.trim;26.System.out.printlnst;27.St

33、ring sd = String.valueOf26.5;28.System.out.printlnsd;29.30. d. String对象的内存机制1.public class TestString 2.3.4.public static void mainString args 5.6.String s1 =Java编程;/1.简单的创立字符串对象7.String s2 =Java编程;8.String s3 =new StringJava编程;/2.调用相应的构造器创立对象9.ifs1=s210.System.out.println字符串s1和s2通过等于测试,结果返回True;11.

34、12.else13.System.out.println字符串s1和s2通过等于测试,结果返回False;14.15.ifs1=s316.System.out.println字符串s1和s3通过等于测试,结果返回True;17.18.else19.System.out.println字符串s1和s3通过等于测试,结果返回False;20.21.ifs1.equalss322.System.out.println字符串s1和s2内容一样,结果返回True;23.24.else25.System.out.println字符串s1和s2内容不一样,结果返回False;26.27.28. 用简单方式创

35、立的字符串放在池中,假如再次用简单方式创立任何已在池中存在的字符串,将不会再在池中分配空间,而是让新的对象的引用指向池中已存在的字符串。new出来的字符串先在堆中开拓一块空间,然后再到池中去找看有没有一样的一个字符串,假如没有一样的字符串,也会在池中创立一个同样的字符串,并会把两者联络起来。假设存也会把两者联络起来。 String特殊机制让我们比较字符串时,不管字符串有多长,其比较速度都是一样的,国为在比较两个字符串内容是否相时,不必真去考察内容,只需比较两个字符串联络的常量池中对象是否为同一个即可.String类对象永不可变,在一些需要大量连接字符串的代码中,其性能将大幅下降.B. Stri

36、ngBuffer类为了弥补String在连接操作中的缺点,java提供了一个StringBuffer类StringBuffer对象的创立语法只有一种.使用new操作符StringBuffer类的构造器:public StringBufferpublic StringBufferString strStringBuffer类的重要方法:public StringBuffer appendString strpublic StringBuffer insertint offset,String strpublic StringBuffer deleteint start,int endpublic

37、 StringBuffer reversepublic String toStringStringBuffer类也有equals方法,但是其功能相当于将两个引用进展“=比较4.Math类Math类提供了很多数学计算的方法,这些方法都是静态的方法.常用方法:public static double sindouble apublic static double cosdouble apublic static double powdouble a,double bpublic static double sqrtdouble apublic staic int absint apublic st

38、atic double ceildouble apublic static double floordouble apublic static long maxlong a,long bpublic static int minint a 5.Object类Object类是所有类的父类,java中的类都是直接或间接继承自Object类1.public class MyInteger 2.3.private final int value;4.5.public MyIntegerint value6.this.value = value;7.8.9.public int getValue10.r

39、eturn this.value;11.12.13.public boolean equalsObject obj14.ifobj=null15.return false;16.ifobj instanceof MyInteger17.return value=MyIntegerobj.getValue;18.19.else 20.return false;21.22.23.public int hashCode24.return Integer.valueOfthis.value.hashCode+37;25.26.27.public String toString28.return +th

40、is.value;29.30.31.public static void mainString args 32.33.MyInteger m1 = new MyInteger10;34.MyInteger m2 = new MyInteger10;35.System.out.printlnm1;36.System.out.printlnm1.equalsm2;37.38.6.System类重要字段:public static final InputStream inpublic static final PrintStream out重要方法:arraycopyObject src, int

41、srcPos, Object dest, int destPos, int length exitint statuspublic static void setErrPrintStream errpublic static void setInInputStream inpublic static void setOutPrintStream out 第八章第八章 java.utiljava.util包包1.Random 2.Date/Calendar 3.DateFormat/SimpleDateFormat 4.Date/Time/TimeStamp 5.集合框架1.Random类类Ra

42、ndom类的对象用来产生随机数a. 构造方法:public Randompublic Randomlong seedb. 常用方法:public boolean nextBooleanpublic int nextIntpublic int nextIntint npublic long nextLongpublic float nextFloatpublic double nextDouble1.import java.util.Random;2.public class TestRandom 3.4.public static void mainString args 5.6.Random

43、 r1 = new Random;7.System.out.printlnr1.nextInt; 8.System.out.printlnr1.nextInt;9.Random r2 = new Random10;10.System.out.printlnr2.nextInt; 11.System.out.printlnr2.nextInt;12.13.2.Date/CalendarA. Date类a. 常用构造方法:public Dateint year, int month, int date public Dateint year, int month, int date, int hr

44、s, int min, int sec b. 常用方法:public int getYearpublic int getMonthpublic int getDatepublic int getHourspublic int getMinutespublic int getSecondsB. Calendar类Calendar类没有提供可以直接使用的构造器,我们用其提供的静态方法getInstance来得到一个Calendar实例.常用方法:public int getint fieldpublic static Calendar getInstancepublic final Date ge

45、tTimepublic TimeZone getTimeZonepublic final void setint year,int month,int datepublic final void setTimeDate datepublic void setTimeZoneTimeZone value3.DateFormat/SimpleDateFormat java.text DateFormat为日期格式化的抽象类,它以与语言无关的方式格式化并分析日期或时间.DateFormat类的重要方法:public final String formatDate datepublic Calenda

46、r getCalendarpublic static final DateFormat getDateInstanceSimpleDateFormat类是DateFormat类的实现类.是一个以与语言环境相关的方式来格式化和分析日期的详细类.SimpleDateFormat类的重要构造方法:public SimpleDateFormatString pattern其中参数patter可以按以下格式来做:日期和时间形式 结果yyyy.MM.dd G at HH:mm:ss z 2001.07.04 AD at 12:08:56 PDTEEE, MMM d, yy Wed, Jul 4, 01h:

47、mm a 12:08 PMhh oclock a, zzzz 12 oclock PM, Pacific Daylight TimeK:mm a, z 0:08 PM, PDTyyyyy.MMMMM.dd GGG hh:mm aaa 02001.July.04 AD 12:08 PMEEE, d MMM yyyy HH:mm:ss Z Wed, 4 Jul 2001 12:08:56 -0700yyMMddHHmmssZ 010704120856-0700yyyy-MM-ddTHH:mm:ss.SSSZ 2001-07-04T12:08:56.235-0700如: DateFormat sdf

48、 = new SimpleDateFormatyyyy年MM月dd日 HH:mm:ss;4.Date/Time/TimeStamp java.sql 略.Date/Calendar/DateFormat/SimpleDateFormat/Date/Time/TimeStamp举例:1.import java.util.*;2.import java.text.*;3.import java.sql.Time;4.import java.sql.Timestamp;5.public class TestDate 6.7.public static void mainString args 8.9

49、.10.Date d = new Date;11./Date d = new Date108,4,27;12./System.out.printlnd;13.int iDate = d.getDate;14.int iMonth = d.getMonth+1;15./System.out.printlniYear+年+iMonth+月+iDate+日;16./d.setYear109;17./System.out.printlnd;18.String s = d.toGMTString;19./System.out.printlns;20.21.DateFormat sdf = new Sim

50、pleDateFormatyyyy-MM-dd HH:mm:ss;22./System.out.printlnsdf.formatd;23.24.Calendar c = Calendar.getInstance;25. /int year = c.getCalendar.YEAR;26./System.out.printlnc;27.c.addCalendar.YEAR,2;28./System.out.printlnc.getCalendar.YEAR;29.c.setTimed;30./System.out.printlnc.getCalendar.YEAR+年+c.getCalenda

51、r.MONTH+月+c.getCalendar.DAY_OF_MONTH+日;31.c.setTimeZoneTimeZone.getTimeZoneJapan;32./System.out.printlnc.getCalendar.HOUR;33.Date cd = c.getTime;34.System.out.printlnsdf.formatcd;35.36.DateFormat df = DateFormat.getInstance;37./System.out.printlndf.formatd;38.39./String ss = TimeZone.getAvailableIDs

52、;40./forString tz:ss41./System.out.printtz+ ;42./43.44.java.sql.Date dd = new java.sql.Date108,4,27;45./System.out.printlndd;46./System.out.printlnsdf.formatdd;47.48.Time t = new Time9, 13, 30;49./System.out.printlnsdf.formatt;50.51.Timestamp ts = new Timestamp108,4,27,9,13,30,0;52./System.out.print

53、lnsdf.formatts;53./*54.long oldTime = System.currentTimeMillis;55.forint i=0;i1000;i+56.System.out.printi+ ;57.58.59.long newTime = System.currentTimeMillis-oldTime;60.System.out.printlnnewTime;61.*/62.63.5.集合框架集合框架层次构造: Collection接口 Set接口 List接口 SortedSet接口 TreeSet HashSet LinkedHashSet ArrayList V

54、ector LinkedList Map接口 SortedMap接口HashMap Hashtable LinkedHashMap TreeMap集合集合类的对象是用来管理其他假设干对象的,在集合类的对象中可以用来存放多种类型的对象.接口和类共同构成了集合框架.a. 接口:定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式.Collection用来管理多个对象,集合中的每个元素都对象.Map中没有对象,而是键值对,由key,value组成的键值对.key是不可重复的,value是可以一样的,一个key和一个value一一对应.List在管理多个对象时会按顺序组织对象有顺序,其

55、元素顺序均是按添加的先后进展排列的.List中的对象是可重复的.Set的实现类的对象中的元素是无序的,同时是不可重复的.SortedSet其实现类会对集合中的元素进展排序,但是要指定排序规那么,会按排序规那么进展排序.SortedMap同样可以实现排序,不过是对键值对中的key进展排序,同样也要指定排序规那么.b. 实现类:ArrayList的本质就是一个会自动增长的数组.ArrayList是用封装的数组来实现List接口的大量的插入,删除操作性能很差.不支持并发,效率高LinkedList其底层是用双向循环链表来实现的,有利于增删,不利于查找,不支持并发.Vector又称为向量和ArrayL

56、ist功能近乎一样,支持并发.HashSet的底层实现还是数组,保证元素不重复LinkedHashSet继承自HashSet底层用双向链表实现TreeSet可对集合中的元素进展排序,要存放在TreeSet中的对象,要么是已经实现了Comparable接口,要么能给出Comparator比较器.会根据比较规那么判断元素内容是否一样,TreeSet会在元素存入时就进展排序.HashMap,key是无序存放的,也是不可以重复的,key与value一一对应的,线程不平安的.Hashtable与HashMap比较相似,也是线程平安的,不允许key和value为nullLinkedHashMap与Link

57、edHashSet很相似TreeMap会按照key进展排序,和TreeSet类一样,在使用自定义类作key时,要用自定义类实现Comparable接口Collection类:1.import java.util.*;2.public class TestCollection 3.4.public static void mainString args 5.6.Collection c = new HashSet;7.c.addjava;8.c.addString;9.c.addhome;10./c.add12;11.c.addnew Stringpath;12.c.addnew Stringp

58、ath;13.c.addnew StringBufferString;14.c.addnew StringBufferString;15.System.out.printlnc.isEmpty;16.System.out.printlnc.containsjava;17.System.out.printlnc.size;18.System.out.printlnc.removejava;19.System.out.printlnc;20.Iterator it = c.iterator;21.whileit.hasNext22.System.out.printit.next+ ;23.24.S

59、ystem.out.println;25./*26.Object obj = c.toArray;27.forObject o:obj28.System.out.printlno;29.30.*/31.32.Set接口及HashSet类:1.import java.util.*;2.public class TestSet3.4.public static void mainString args 5.6.Set s1 = new HashSet;7.Set s2 = new HashSet;8.s1.addadd;9.s1.addString;10.s1.addhello;11.s2.add

60、String;12.s2.addadd;13.s2.addworld;14.Set s3 = new HashSets1;15.s3.retainAlls2;16.Set s4 = new HashSets1;17.s4.addAlls2;18.System.out.printlns3;19.System.out.printlns4;20.21.SortedSet接口及时性TreeSet类:Person.java类1.public class Person /*implements Comparable */2.3.private int id;4.private String name;5.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论