JAVA API常见的使用类(一)

Object类

          1,是定义在java.lang包下的类,是所有类的超类(父类),所有的类都直接或间接的继承Object类。

                         父类:超类、根类、基类。

                         子类:派生类。

 

        2,需要掌握的方法:

                    pulic String toString():返回对象字符串的表示形式。

                            默认情况下的组合:类名的全路径名称+@+对象的哈希值无符号十六进制表示形式。

                                          这种做法没有意义,所以一般情况下重写。

                            重写做法:把所有成员变量组合成一个字符串返回。

                    public boolean equals(Object obj):比较对象的地址值是否相同。

                           默认的情况下,是比较对象的地址值是否相同。

                           如果有需要,重写Object类的方法,该怎么重写?  

//重写Object类
public boolean equals(Object obj){
    if(this==obj){
        return ture;
        }
        if(!(obj instanceof Student)){
                return false;
        }
    Student s=Student(obj);
            return this.name.equals(s.name)&&this.age==s.age;
}

如果多个成员变量,把多个比较用&&连接,

                          引用类型用equals()方法,

                          基本类型用==。

                  ==与equals()的区别:

                           ==:

                                      可以比较基本类型,也可以比较引用类型。

                                      比较基本类型,比较的是值是否相等。

                                      比较引用类型,比较的是地址值是否相等。

                           equals():

                                      只能比较引用类型。

                                      默认的情况下比较的是地址值是否相等。

                                      如果需要比较内容,需要重写Object类的equals()方法。

                 如下所示:

//==与equals()的区别
String s="hello";
String s1="hello";
String s2=new String("hello");

String s3="world";
Striing s4=new String("world")
String s5="helloworld";

System.out.println(s==s1);  //true
System.out.println(s.equals(s1)); //true


System.out.println(s==s2); //false
System.out.println(s.equals(s2));  //true

System.out.println(s5==s+s3);  //false
System.out.println(s5.equals(s+s3));  //true
System.out.println(s5.equals(s+s4));  //ture

System.out.println(s5=="hello"+"world");  //true
System.out.println(s5.equals("hello"+"world"))  //true

 

 1 // equals()陷阱
 2 
 3 if(s.equals("world")){
 4 }
 5 
 6 if("world".equals(s)){
 7 }
 8 
 9 //假如s是一个外界传递值,如果给null,s就会NullPointerException
10 //改善方案:把常量写在前面,定义成为对象。

 

 

 

Scanner

         1,Scanner是JDK5以后出现的功能, 方便从键盘接收数据的类。

         2,Scanner的格式构造:

                           Scanner sc=new Scanner(System.in);

                           System.in是System类下面有一个静态的成员变量in,它在类型是InputStream。代表的是标准键盘输入流。

                           Scanner是对其封装,提供了各种转换功能。方便获取各种需要的数据类型数据。

         3,需要掌握的两个功能:

                         a:返回int类型

                                       public int nextInt()

                         b:返回String类型

                                       public String nextLine()

                         注意事项:

                                  两个一起组合使用的时候 ,先用nextInt(),再用nextLine()会有问题。

                                  解决方案:

                                            1,重新建立Scanner对象。

                                            2,把所有数据都输入成String类型,再对其进行转换。

String

        1,由多个字符组成的一组数据。

        2,构造方法:

//构造方法
1   String s=new String();
2   String s=new String(byte[] bys);
3   String s=new String(byte[] bys,int startIndex,int count);
4   String s=new String(char[] chs);
5   String s=new String(char[] chs,int startIndex,int count);
6   String s=new String(String s2);
7   String s="hello";

 

 

常使用的几种:2、3、4、5、7。

         3,字符串常见的功能

                1,判断:

                        boolean equals(Object obj):比较字符串的内容是否相同。

                        boolean equalsIgnoreCse(String str):比较字符串的内容是否相同,不区分大小写。

                        boolean contains(String str):判断该字符串对象是否包含给定的字符串。

                        boolean startWith(String str):判断该字符串对象是否以给定的字符串开头。

                        boolean endWith(String str):判断该字符串对象是否以给定的字符串结束。

                        boolean isEmpty(String str):判断该字符串对象是否为空,是指的内容(””) 还是地址(null)?

//isEmpty 测试
String s="helloworld";

System.out.println(s.isEmpty()); //false
System.out.println("".isEmpty());  //true

String s=null;
System.out.println(s.isEmpty()); //java.lang.NullPointerException

 

                2,获取:

                      int length():返回该字符串对象的长度。

                      char charAt():返回指定索引的字符。

                      int indexOf(int ch):返回指定字符第一次出现的索引位置。'A' 65

                      int indexOf(String str):返回指定字符串第一次出现的索引位置。

                      int indexOf(int ch,int fromIndex):从指定索引位置开始,返回指定字符第一次出现的索引位置。

                      String subString(int start):从指定索引位置开始截取字符串,包含指定索引位置本身。

                      String subString(int start,int end):从指定的索引位置开始截取字符串,到指定的索引位置结束截取字符串。包左不包右。

                3,转换:

                      byte getBytes():把字符串转换成字节数组。

                      char toCharArray():把字符串转换成字符数组。

                      static String copyValueOf(char[] chs):把字符数组转换成字符串。

                      static String valueOf(char[] chs):把字符数组转换成字符串。

                      static String valueOf(int i ):把int类型的数据转换成字符串。

                      String toLowerCase():把字符串转换成小写。

                      String toUpperCase():把字符串转换成大写。

                      String concat(String str):字符串的拼接。

                4,其它:

                      String replace(char old,char new):把该字符串中的指定字符替换成新的指定字符。

                      String replace(String old,String new):把该字符串中的指字符串替换成新的指定字符串。

                      String split(String regex):把字符串按指定的标记分割成字符串数组。

//分割简易示例
String ages="20-30-35-40";
String[] ageArray=ages.split("-");
for(int i=0;i<ageArray.length;i++){
    System.out.println(ageArray[i]);
}
-----------------------------------------------------
20
30
35
40

                     String trim():去掉字符串两端的空格。

                     int compreTo(String str):按字典顺序比较两个字符串。

                     int compreToIngoreCase(String str):按字典顺序比较两个字符串,不区分大小写。

posted @ 2014-03-24 00:12  ear  阅读(2188)  评论(0编辑  收藏  举报