1. 程式人生 > >Object類,String類

Object類,String類

Object類

      類 Object 是類層次結構的根類。每個類都使用 Object 作為超類(父類)。所有物件(包括陣列)都實現這個類的方法。

          public int hashCode()返回該物件的雜湊碼值

hashCode()----->通過雜湊演算法(雜湊表:hashtable)---->地址值(不是實際意義上的地址值!)

           public final Class getClass()返回此 Object 的執行時類  (Java反射機制中講!)

           Class類中有一個方法:

                publicString getName()以 String 的形式返回此 Class 物件所表示的實體(類、介面、陣列類、基本型別或 void)名稱。

publicclass ObjectTest1 {

publicstaticvoid main(String[]args) {

Student s1 = new Student();

System.out.println(s1.hashCode());

Student s2 = new Student();

System.out.println(s2.hashCode());

Student s3 = new Student();

System.out.println(s3.hashCode());

//public final Class getClass()返回此 Object 的執行時類

Class c1 =s1.getClass();

System.out.println("c1:"+c1);

////public String getName():獲取當前正在執行的這類的全路徑名稱!

String name =c1.getName();

System.out.println("name:"+name);

}

}

      Object的另一個方法:

           public String toString();返回該物件的字串表示(建議所有子類都重寫此方法)

          Integer類中有一個方法:

                public static StringtoHexString(int i):將一個int型別的資料轉換成一個十六進位制的字串表現形式

     如果直接輸出物件名稱,想要顯示當前物件的成員變數的值,那麼必須重寫Object類中的toString()方法

publicclass ObjectDemo {

      public static void main(String[] args) {

           //建立一個學生物件

           Student s1 = new Student("高圓圓",27) ;

           //直接輸出物件名稱

           /*System.out.println("s1:"+s1);//[email protected]

           //public String toString()

           System.out.println("toString():"+s1.toString());//[email protected]

           System.out.println("--------------------------");*/

           /**

            * 通過檢視toString()原始碼:

            * public String toString() {

                   returnthis.getClass().getName() + "@" +Integer.toHexString(this.hashCode());

               }

               toString()<==>物件名.getClass().getName()+"@" +Integer.toHexString(物件名.hashCode())

            */

           System.out.println(s1.getClass().getName()+"@"+Integer.toHexString(s1.hashCode()));

//         System.out.println(s1.toString());

           //[email protected]

           //[email protected]

           //直接物件名稱,想要顯示成員變數的值,怎麼辦?

//         System.out.println(s1);

           Student s2 = new Student("高圓圓", 27) ;

           System.out.println("s2:"+s2);

           System.out.println(s1==s2);

      }

}

//學生類

publicclass Student extends Object {

      //成員變數

      private String name;

      private int age ;

      public Student() {

           super();

      }

      public Student(String name, int age) {

           super();

           this.name = name;

           this.age = age;

      }

      public String getName() {

           return name;

      }

      public void setName(String name) {

           this.name = name;

      }

      public int getAge() {

           return age;

      }

      public void setAge(int age) {

           this.age = age;

      }

      //當前toString()是自己去寫的

/*   @Override

      public String toString() {

           return name+"---"+age;

      }*/

      //alt+shift+s->s

      //自動生成即可!

      @Override

      public String toString() {

           return "Student [name=" +name + ", age=" + age + "]";

      }

}                                                                                                            

Object中的另一個方法:

     public boolean equals(Object obj)指示其他某個物件是否與此物件“相等”。

  面試題:

     ==和equal()方法的區別

     ==:比較的是兩個物件的地址值是否相同,

     equals()方法預設比較的是兩個物件的地址值是否相同,如果重寫了Object類中的equals()方法,那麼預設比較就是兩個物件的內容是否相同     

  使用工具自動生產equals()方法

javascript:Array物件,Number物件,String物件,valueOf():====>s1.valueOf(s2) ;比較是內容是否相同

publicclass ObjectDemo {

      public static void main(String[] args) {

           //建立學生物件

           Student s1 = new Student("高圓圓", 27) ;

           Student s2 = new Student("高圓圓",27) ;

           System.out.println(s1==s2);

           System.out.println("------------------");

           Student s3 = s1 ;

           System.out.println(s1==s3);

           System.out.println("-------------------");

           System.out.println(s1.equals(s2));//由於重寫Object中的equals()方法,所以比較的是物件的內容是否相同!

           /**

            * equals()方法的原始碼

            *  public boolean equals(Object obj) {

              return(this == obj);

          }

               由於Object類中的equals()方法底層是通過"=="來實現的,所以預設比較的是地址值,如果想比較內容是否相同,需要重寫equals()方法

            * */

      }

}

publicclass Student {

      //成員變數

      private String name;

      private int age ;

      public Student() {

           super();

      }

      public Student(String name, int age) {

           super();

           this.name = name;

           this.age = age;

      }

      public String getName() {

           return name;

      }

      public void setName(String name) {

           this.name = name;

      }

      public int getAge() {

           return age;

      }

      public void setAge(int age) {

           this.age = age;

      }

      //toString()

      @Override

      public String toString() {

           return "Student [name=" +name + ", age=" + age + "]";

      }

      //重寫了Object類中的equals()方法

      @Override

      public boolean equals(Object obj) {//Studnet s2 = new Student() ;

           if (this == obj)

                 return true;

           if (obj == null)  //當前傳入過來的物件是否為空

                 return false;

           if (getClass() != obj.getClass())  //this.getClass() != s2.getClass()     

                 return false;

           Student other = (Student) obj;

           if (age != other.age)

                 return false;

           if (name == null) {

                 if (other.name != null)

                      return false;

           } else if (!name.equals(other.name))

                 return false;

           return true;

      }

      /**

       * 物件名 instanceof 類:判斷該物件是否是該類的一個例項

       **/

}

Object類中的其他兩個方法:

          protected void finalize()throwsThrowable:當垃圾回收器確定不存在對該物件的更多引用時,由物件的垃圾回收器呼叫此方法,但是,什麼時候呼叫垃圾回收器

  不確定;

           System類中的一個方法:

                public void gc():執行垃圾回收器,這個垃圾回收器最終呼叫的就是finalize()方法

 protectedObject clone()建立並返回此物件的一個副本

                throwsCloneNotSupportedException

           注意事項:

           Object 類的 clone 方法執行特定的複製操作。首先,如果此物件的類不能實現介面 Cloneable,則會丟擲 CloneNotSupportedException。

publicclass ObjectDemo {

      public static void main(String[] args)throws CloneNotSupportedException {//該異常是編譯時期異常

           //建立s1這個學生物件

           Student s1 = new Student() ;

           s1.setName("高圓圓") ;

           s1.setAge(27) ;

           System.out.println(s1.getName()+"---"+s1.getAge());

           //複製s1這個物件

           Object obj = s1.clone() ;

           //向下轉型:

           Student s2 = (Student) obj;

           System.out.println(s2.getName()+"---"+s1.getAge());

           System.out.println("----------------------");

           //沒有講clone方法之前:

           Student s3 = s1; //把s1地址值賦值s3物件,s3指向s1的堆記憶體中的地址值

           System.out.println(s3.getName()+"---"+s3.getAge());

      }

}

publicclass Student implements Cloneable{

      private String name ;

      private int age ;

      public Student() {

           super();

      }

      public Student(String name, int age) {

           super();

           this.name = name;

           this.age = age;

      }

      public String getName() {

           return name;

      }

      public void setName(String name) {

           this.name = name;

      }

      public int getAge() {

           return age;

      }

      public void setAge(int age) {

           this.age = age;

      }

      //重寫Object類中clone()

      @Override

      protected Object clone() throwsCloneNotSupportedException {

           return super.clone();

      }

}                                                                                                            


1)Scanner:用來建立一個文字掃描器(鍵盤錄入)

2)java高階特性:IO流(後面講)

          BufferReder:字元緩衝流來鍵盤錄入

 java.util.Scanner;s

 Scanner sc = new Scanenr(System.in);

 System類中的靜態欄位:

           public static final InputStreamin:  標準輸入流

          InputStream :位元組流 InputStreamis = System.in ;  實質:抽象類多型

          public static final OutputStreamout:  標準輸出流

  開發步驟:

          1)建立鍵盤錄入物件

          2)錄入資料

          3)輸出

publicclass ScannerDemo {

      public static void main(String[] args) {

           //建立鍵盤錄入物件

           Scanner sc = new Scanner(System.in) ;

           //錄入資料

           int a = sc.nextInt() ;

           System.out.println("a:"+a);

      }

}

Scanner類中常用的方法:

                判斷的功能:

                           細節:可以新增邏輯判斷

                            hasNextXXX(); 在錄入資料之前,加上判斷功能,判斷是否由下一個可以錄入的XXX型別的資料

                           nextXXX();//通過錄入獲取這個int型別的資料

     舉例:

                      public boolean hasNextInt()

                      nextInt();

          nextInt():錄入int型別的資料

           nextLine():錄入一個字串型別

 java.util.InputMismatchException:輸入和想到的資料不匹配

publicclass ScannerDemo2 {

      public static void main(String[] args) {

           //建立鍵盤錄入物件

           Scanner sc = new Scanner(System.in) ;

           if(sc.hasNextInt()){

                 //是否有下一個可以錄入的int型別的資料

                 //錄入資料

                 int a = sc.nextInt() ;

                 System.out.println("a:"+a);

           }else{

                 //錯誤提示

                 System.out.println("錄入的資料型別和想要的不匹配!");

           }

           //java.util.InputMismatchException:輸入和想到的資料不匹配

      }

}

Scanner類中的注意事項:

                先錄入int型別的資料,在錄入String型別資料,第二次錄入的資料沒有接收到,直接輸出結果了,由於"回車"才能接收資料

  回車換行符導致的!

                解決方案:

                      在第二次錄入String型別資料之前,需要重新建立鍵盤錄入物件錄入String型別.

publicclass ScannerDemo3 {

      public static void main(String[] args) {

           //鍵盤錄入物件

           Scanner sc = new Scanner(System.in) ;

           //先錄入兩個int型別的資料

           /*int a = sc.nextInt() ;

           int b = sc.nextInt() ;

           System.out.println("a:"+a+",b:"+b);*/

           //錄入兩個String型別的資料

           //hasNextLine

           /*String a = sc.nextLine() ;

           String b = sc.nextLine() ;*/

           //先錄入String型別的資料,在錄入int型別的資料

           /*String a = sc.nextLine() ;

           int b = sc.nextInt() ;*/

           //先錄入int型別,再錄入String型別

           int a = sc.nextInt() ;

//         String b = sc.nextLine() ;

           String b = sc.next() ;

           /*

           int a = sc.nextInt() ;

           //建立鍵盤錄入物件

           Scanner sc2 = new Scanner(System.in);

           String b = sc2.nextLine() ;

           */

           System.out.println("a:"+a+",b:"+b);

      }

}         

   String類

String類:

          代表字串。Java 程式中的所有字串字面值(如"abc" )都作為此類的例項實現;字串一旦被賦值,其值不能再改變

  String類常用的構造方法:

           String():表示一個空字元序列。

          publicString(byte[] bytes,Charset ch):預設字符集(編碼格式):GBK,如果是GBK格式,可以不寫第二個引數

          publicString(byte[] bytes,int index,int length):將部分位元組陣列構造成一個字串

          publicString(char[] value):將字元陣列構造成一個字串

          publicString(char[] value,int index,int length):將部分的字元陣列構造成一個字串

          publicString(String original):通過字串常量構造一個字串物件

獲取字串的長度功能:

                                 publicint length()

   面試題:

          陣列中有沒有length(),字串(字串緩衝區:StringBuffer)中沒有length(),集合中有沒有length()(集合後面講)?

                陣列沒有length(),length屬性

                字串中有length()

集合中沒有length(),獲取集合中元素數量:size()

          編碼和解碼:一定要保證編碼格式一致

          編碼:

                把能看懂的東西轉換成一個看不懂的東西:String----->byte[]:publicbyte[] getBytes(String charsetName)

          解碼:

                把當前的byte[]轉成能看懂的東西(String):byte[]----->String :public String(byte[] bytes,CharsetName ch)

  舉例:

          諜戰片:

                今天老地方見:

                編碼:"今"----->位元組陣列:byte[]---->位元組型別:形成一種二進位制資料

                解碼:二進位制資料---->十進位制進位制資料----->String:"今"

publicclass StringDemo {

      public static void main(String[] args)throws UnsupportedEncodingException {

           //建立一個String物件

           String s1 = new String() ;

           System.out.println("s1.length():"+s1.length());

           System.out.println("s1:"+s1);

           System.out.println("----------------------");

           //public String(byte[] bytes,Charsetch):預設字符集(編碼格式):GBK,如果是GBK格式,可以不寫第二個引數

           //建立一個位元組陣列

           byte[] bys = {97, 98, 99, 100, 101} ;

           String s2 = new String(bys) ;//位元組的值要找它對應的ASCII碼錶中的字元

           System.out.println("s2:"+s2);

           //abcde

           System.out.println("s2.length():"+s2.length());//5

           System.out.println("----------------------");

           /**

            * 編碼和解碼

            */

           //定義一個字串:

           String s = "你好" ;

           //[-60, -29, -70, -61]  :GBK

           //[-28, -67, -96, -27, -91,-67]:utf-8

//         byte[] bys2 =s.getBytes("utf-8") ;//編碼:以:GBK格式編碼    utf-8:一箇中文:對應三個位元組

           byte[] bys2 = s.getBytes() ;

//         System.out.println(bys2);

           //Arrays:陣列工具類:toString(byte[] bys)

           System.out.println(Arrays.toString(bys2));

           System.out.println("-------");

//         String str = new String(bys2,"utf-8") ;

           String str = new String(bys2) ;

           System.out.println("str:"+str);

           System.out.println("------------------");

           //public String(char[] value):將字元陣列構造成一個字串

           //定義一個字元陣列

           char[] chs = {'我','愛','高','圓','圓'} ;

           String s3 = new String(chs) ;

           System.out.println("s3.length():"+s3.length());

           System.out.println("s3:"+s3);

           System.out.println("--------------------");

           String s4 = new String(chs, 1, 4) ;

           System.out.println("s4:"+s4);

           System.out.println("s4.length():"+s4.length());

           System.out.println("--------------------");

           //public String(String original):通過字串常量構造一個字串物件

           String s5 = newString("hello") ;

           System.out.println("s5:"+s5);

           System.out.println("s5.length():"+s5.length());

           String s6 = "hello" ;

           System.out.println("s6:"+s6);

           System.out.println("s6.length():"+s6.length());

      }

}

字串的一個特點:一旦被賦值,其值不能被改變(不可變的字元序列)

 面試題:

          String s = "hello"

          和String s = new String("hello") 兩個有什麼區別?分別建立了幾個物件

          第一個建立了一個物件

           第二個s建立兩個物件(堆記憶體中有new String(),然後字串常量池中也有這樣一個字串常量(開闢空間的地址))

publicclass StringDemo {

      public static void main(String[] args) {

           String s = "hello" ;   // String s = "abc" ;

           /*s += "world" ;

           System.out.println("s:"+s);*/

           change(s) ;

           //輸出字串變數

           System.out.println("s:"+s);

      }

      public static void change(String s){//String型別作為形式引數和基本資料型別的效果一樣

           s += "javaweb" ;

      }

}

String類的中常用的判斷功能:

          boolean equals(Object obj):當前該物件是否obj這個物件是否相等;

           booleanequalsIgnoreCase(String str):比較字串是否相等,忽略大小寫

           booleancontains(String str):判斷str這個字串是否包含在當前字串中

           booleanstartsWith(String str):是否以str子字串開頭

           booleanendsWith(String str):判斷是否以str子字串結尾

           booleanisEmpty():判斷字串是否為空

           Strings = "" ;空字元

           Strings = " " ;字串"空格"

           Strings = null ;當前字串物件為空

publicclass StringDemo {

      public static void main(String[] args) {

           //定義一個字串

           String s1 = "helloworld" ;

           String s2 = "HelloWorld" ;

//         boolean equals(Object obj):當前該物件是否obj這個物件是否相等;String重寫equals(),比較的是兩個字串的內容是否相同

           System.out.println("equals:"+s1.equals(s2));

           //boolean equalsIgnoreCase(Stringstr):比較字串是否相等,忽略大小寫

           System.out.println("equalsIgnoreCase:"+s1.equalsIgnoreCase(s2));

           //boolean contains(String str):判斷str這個字串是否包含在當前字串中

           System.out.println("contains:"+s1.contains("owo"));

           System.out.println("contains:"+s1.contains("ak47"));

           //boolean startsWith(String str):是否以str子字串開頭

           System.out.println("starsWith:"+s1.startsWith("hel"));

           //boolean endsWith(String str):判斷是否以str子字串結尾  自己測試

         

//booleanisEmpty():判斷字串是否為空

           System.out.println("isEmpty:"+s1.isEmpty());

      }

}

 字串變數相加,先開闢空間,在相加

     字串常量相加:首先在字串常量池找,有沒有當前這個常量值,有,就直接返回,沒有,需要建立!

publicclass StringDemo2 {

      public static void main(String[] args) {

           String s1 = "hello"; 

           String s2 = "world";

           String s3 = "helloworld";

           System.out.println(s3 == s1 + s2);//false

           //System.out.println(s3 == (newStringBuilder(String.valueOf(s1))).append(s2).toString());

//         s1+s2 ====>newString("helloworld")

           System.out.println(s3.equals((s1 +s2)));//true ,

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

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

           /**

            * 通過反編譯工具檢視第三個輸出語句:

            * System.out.println(s3 =="helloworld");

                 System.out.println(s3.equals("helloworld"));

            * */

      }

}

String類的獲取功能:

          int length()        :獲取字串長度功能

           charcharAt(int index):返回的是索引處對應的字元

           intindexOf(int ch):返回指定字元在此字串中第一次出現處的索引

                      為什麼這裡的字元用int來定義:         97        'a'

           intindexOf(String str):返回指定子字串在此字串中第一次出現的索引

           intindexOf(int ch,int fromIndex):返回在此字串中第一次出現指定字元處的索引,從指定的索引開始搜尋。

           intindexOf(String str,int fromIndex):返回在此字串中第一次出現指定字串處的索引,從指定的索引開始搜尋

           Stringsubstring(int start):從指定位置開始擷取字串,預設擷取到末尾

           Stringsubstring(int start,int end):從指定位置開始擷取到指定位置結束,包前(start索引)不包後(end索引)

publicclass StringDemo {

      public static void main(String[] args) {

           //定義一個字串:

           String str = "helloworld" ;

           //int length()     :獲取字串長度功能

           System.out.println("length:"+str.length());

           //char charAt(int index):返回的是索引處對應的字元

           System.out.println("charAt:"+str.charAt(1));

           System.out.println("charAt:"+str.charAt(8));

           System.out.println("-------------------------------");

           //int indexOf(int ch):返回指定字元在此字串中第一次出現處的索引

           System.out.println("indexof:"+str.indexOf('l'));

           System.out.println("indexof:"+str.indexOf('k'));//-1

           //int indexOf(String str):返回指定子字串在此字串中第一次出現的索引

           System.out.println("indexOf:"+str.indexOf("owo"));

           System.out.println("-------------------------------");

           //int indexOf(int ch,int fromIndex):返回在此字串中第一次出現指定字元處的索引,從指定的索引開始搜尋。

           System.out.println("indexOf:"+str.indexOf('l',4));

           //int indexOf(String str,intfromIndex):返回在此字串中第一次出現指定字串處的索引,從指定的索引開始搜尋 (自己測試)

           //String substring(int start):從指定位置開始擷取字串,預設擷取到末尾(返回一個新的字串,不再是字串本身!)

           System.out.println("substring:"+str.substring(5));

           //String substring(int start,intend):從指定位置開始擷取到指定位置結束,包前(start索引)不包後(end索引)

           System.out.println("substring:"+str.substring(4,8));//owor

      }

}

String類的轉換功能(重點)

     byte[] getBytes():將字串轉換位元組陣列

      char[]toCharArray():將字串轉換成 字元陣列 (開發中經常使用)

      staticString valueOf(char[] chs):將字元陣列轉換成字串

      staticString valueOf(int i):將一個int型別的資料轉換成字串

                 注意:

                            String類中的valueOf()可以將任何資料型別轉換成字串

      StringtoLowerCase():將字串全部轉成小寫

      StringtoUpperCase():將字串全部轉換成大寫

      Stringconcat(String str):字串拼接方法

publicclass StringDemo {

      //構造方法:

      //構造方法不能使用遞迴

      /*public StringDemo(){

           StringDemo();

      }*/

      public static void main(String[] args) {

           //定義一個字串

           String s = "JavaSE" ;

           //byte[] getBytes():將字串轉換位元組陣列

           byte[] bys = s.getBytes() ;

           //遍歷位元組陣列

           for(int x = 0 ; x < bys.length ;x++){

                 System.out.println(bys[x]);

           }

           System.out.println("---------------------");

           //char[] toCharArray():將字串轉換成 字元陣列

           char[] chs = s.toCharArray() ;

           for (int x = 0; x < chs.length;x++) {

                 System.out.println(chs[x]);

           }

           System.out.println("---------------------");

           //static String valueOf(char[] chs):將字元陣列轉換成字串

           String s2 = String.valueOf(chs) ;

           System.out.println("s2:"+s2);

           //static String valueOf(int i):將一個int型別的資料轉換成字串

           String s3 = String.valueOf(100) ;

           System.out.println("s3:"+s3);

           //String toLowerCase():將字串全部轉成小寫

           System.out.println("toLowerCase:"+s.toLowerCase());

           //String toUpperCase():將字串全部轉換成大寫

           System.out.println("toUpperCase:"+s.toUpperCase());

           //String concat(String str):字串拼接方法

           String s4 = "hello" ;

           String s5 = "world" ;

           System.out.println("contact:"+s4.concat(s5));

           String s6 = "java" ;

           s6 += "web" ;

           System.out.println("s6:"+s6);

方法巢狀

             Math.max(Math.max(a,b),c);

            方法遞迴:方法呼叫本身的一種現象

                      三個條件:

                           1)需要定義個方法

                           2)方法必須有出口條件

                           3)必須有某一種規律

             public void show(int n){

                     if(n<0){

                           System.exit(0); //讓jvm退出,程式結束

                     }

                     System.out.println(n);

                     show(--n) ;

           //需求:求5的階乘

           //5!= 5 * 4 * 3 * 2 * 1 ;

           //5!= 5 * 4! ;

           intjc = 1 ;

           //迴圈思想

           for(intx = 2 ; x <=5 ; x ++){

                 jc*= x;

           }

           System.out.println("5的階乘是:"+jc);

           System.out.println("-------------------------");

           //使用遞迴的思想:

           //需要定義個方法

           System.out.println("5的階乘是:"+jieCheng(5));

明確返回值型別:

      * int型別

      * 引數型別:int型別的值

      *

      * 2)出口條件:

      * if(n==1){

      * return1 ;

      * }

      *

      * 3)要有規律

      * if(n!=1){

      *        returnn* 方法名(n-1);

public static int jieCheng(int n){

           if(n==1){

                 return1 ;

           }else{

                 returnn* jieCheng(n-1) ; //5 * 4 * 3 * 1 *1 

           }


相關推薦

java中三個特殊的------StringObject、包裝

1.String類 1.1 String類的兩種例項化方式 直接賦值 String str = "hello" 通過構造方法例項化String類 String str = new String("hello") 1.2 字串相等比較(內容) public bo

Object,String

Object類       類 Object 是類層次結構的根類。每個類都使用 Object 作為超類(父類)。所有物件(包括陣列)都實現這個類的方法。           public int hashCode()返回該物件的雜湊碼值 hashCode()----->

常用ObjectString詳解

ash trace native object類 obj 關鍵字 圖片 sys img 深拷貝 淺拷貝 垃圾回收 package com.demo.obj; /** * 學習Object類 * native 本地棧方法, 方

JAVA集合簡要筆記 - 內部類 包裝 Object String BigDecimal system

# 常用類 ## 內部類 成員內部類、靜態內部類、區域性內部類、匿名內部類 概念:在一個類的內部再定義一個完整的類 特點: - 編譯之後可生成獨立的位元組碼檔案 - 內部類可直接訪問外部類私有成員,而不破壞封裝 - 可為外部類提供必要的內部功能元件 ``Outer$Inner.class``

javaSE三個特殊的 -- String&String面試題

String類 String類 String的兩種例項化方式             直接賦值(用的最多)     

模板——string方法總結

string類 string類是C++標準庫的一個重要的部分,也是字串的一種資料型別,相對於char*字串它更方便強大,我們不必擔心記憶體是否足夠、字串長度等等,而且作為一個泛型類出現,他整合的操作函式足以完成我們大多數情況下的需要。我們可以用 = 進行賦值操作,== 進行比

Java 知識點整理-6.Java常用Scanner + String

1、Scanner的概述:一個可以使用正則表示式來解析基本型別和字串的簡單文字掃描器。java.util包下,使用需要導包;被final修飾,不能被繼承。 2、Scanner的構造方法原理:Scanner(InputStream source) InputStream輸入流。 3、Syste

javaSE三個特殊的 -- String

String類 String類 String的兩種例項化方式             直接賦值(用的最多)                 String str=“Hello”;             傳統方法,例項化物件                

javaSE三個特殊的 -- String&String面試題

String類 String類 String的兩種例項化方式             直接賦值(用的最多)                 String str=“Hello”;             傳

JAVA字串string

package com.study.demo; public class StringDemo { public static void main(String[] args) { /** * 字串2種初始化的比較

JavaSE三個特殊---String

String類 String類的兩種例項化方式 a.直接賦值 (推薦使用此方式) String str = “Hello world”; b.通過構造方法例項化String類物件 String str = new String(“Hello world”)

Java中特殊的---String

目錄 字串比較  字串查詢 字串替換 字串拆分 字串擷取 String類的兩種例項化方式 1.直接賦值 String str = "Hello world!"; System.out.println(st

字串String的判斷功能

StringDemo.java /* * Object:是類層級結構中的根類,所有的類都直接或間接的繼承自該類. * 如果一個方法的形式引數是Object,那麼這裡我們就可以傳遞它的任意的子類物件. * * String類的判斷功能 * boolean equals(O

JAVAString(一)

String類 1 字串的宣告 java中用字串" "括起來 字串的宣告:String 字串name; 宣告及初始化:String str="hello"; 2 建立字串 用一個字元陣列建立一個物件 char[] s={'h','e','l','l

如何將Object型轉換成String

lba plain pub help eight 代碼 tle 能夠 try 1. Object.toString()?1obj.toString()註意:必須保證Object不是null值,否則將拋出NullPointerException異常。 2. (String)O

Object,scanner,String,StringBuffer,Java中基本型的包裝型等

Object類scanner Scanner類 String和StringBuffer java中基本類型的包裝類型 math類的幾個常用方法 一、Scanner類 Scanner類:簡單文本掃描器1、鍵盤錄入步驟:(1)需要創建鍵盤錄入對象:Scanner 鍵盤錄入對象=new Scan

(1)Object (2)包裝和數學處理 (3)String

lean 由於 哈希 出現 接口類 HA 支持 indexof 類的成員 1.Object類1.1 基本概念 java.lang.Object類是Java類層次結構的根類,任何類都是Object類的直接/間接子類。 1.2 常用的方法(重點) Object() -

深度解析java.lang.String的equal(Object obj)方法

rst string類型 object ring ava [] div compareto ins 背景:最近在研究靜態掃描的東西,遇到一個規則:"equals(Object obj)" should be overridden along with the "compar

String中的equals方法與Object中equals方法的區別

今天在無意中發現一個小知識點,難度不大就是簡單和大家分享一下。 String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1.equals(str2));//true

StringObject、包裝的常用方法以及注意點

   String類 1.1String的兩種例項化方式      a.直接賦值 String str=“hello”;      b.通過構造方法例項化String物件 1.2字串相等比較