從制造到創(chuàng)造
          軟件工程師成長(zhǎng)之路
          posts - 292,  comments - 96,  trackbacks - 0
          1、操作符“==”
          用來(lái)比較兩個(gè)操作元是否相等,這兩個(gè)操作元既可以是基本類(lèi)型,也可以是引用類(lèi)型。
          代碼01:
          /**
           * Demo01.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Nov 13, 2007        CoderDream        Created
           
          */
          package com.coderdream.operator;

          /**
           * discription:    操作符“==”
           * 
           * 
          @author CoderDream
           * 
           
          */
          public class Demo01 {

              
          /**
               * <pre>
               *     操作符“==”用來(lái)比較兩個(gè)操作元是否相等,這兩個(gè)操作元既可以是基本類(lèi)型,也可以是引用類(lèi)型。
               * </pre>
               
          */
              
          public static void f1() {
                  
          int a1 = 1, a2 = 3;
                  
          boolean b1 = a1 == a2; // "=="的操作元為基本類(lèi)型,b1變量值為false
                  System.out.println(b1);

                  String str1 
          = "Hello", str2 = "World";
                  
          boolean b2 = str1 == str2; // "=="的操作元為引用類(lèi)型,b2變量值為false
                  System.out.println(b2);
              }

              
          /**
               * <pre>
               *     當(dāng)操作符“==”兩邊都是引用類(lèi)型時(shí),這兩個(gè)引用變量必須都引用同一個(gè)對(duì)象,結(jié)果才為true。
               * </pre>
               
          */
              
          public static void f2() {
                  Integer int1 
          = new Integer(1);
                  Integer int2 
          = new Integer(1);
                  Integer int3 
          = int1; // int3和int1引用同一個(gè)對(duì)象

                  
          int[] array1 = new int[1];
                  
          int[] array2 = new int[1];
                  
          int[] array3 = array1; // array3和array1引用同一個(gè)對(duì)象

                  System.out.println(
          "int1==int2 is " + (int1 == int2));
                  System.out.println(
          "int1==int3 is " + (int1 == int3));
                  System.out.println(
          "array1==array2 is " + (array1 == array2));
                  System.out.println(
          "array1==array3 is " + (array1 == array3));
              }

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  System.out.println(
          "-----------f1()-----------");
                  Demo01.f1();
                  System.out.println(
          "-----------f2()-----------");
                  Demo01.f2();
              }

          }

          輸出結(jié)果:
          -----------f1()-----------
          false
          false
          -----------f2()-----------
          int1
          ==int2 is false
          int1
          ==int3 is true
          array1
          ==array2 is false
          array1
          ==array3 is true


           2、操作符“==”與多態(tài)性
            a、對(duì)于引用類(lèi)型變量,Java編譯器根據(jù)變量被顯式聲明的類(lèi)型去編譯。當(dāng)“==”用于比較引用類(lèi)型變量時(shí),“==”兩邊的變量被顯式聲明的類(lèi)型必須是同種類(lèi)型或有繼承關(guān)系,即位于繼承樹(shù)的同一個(gè)繼承分支上,否則編譯出錯(cuò)。
            b、在運(yùn)行時(shí),Java 虛擬機(jī)將根據(jù)兩邊的引用變量實(shí)際引用的對(duì)象進(jìn)行比較。
              假設(shè)有4個(gè)類(lèi)--Creature、Animal、Dog和Cat類(lèi),它們的繼承關(guān)系如圖所示:


          代碼02:
          /**
           * Demo02.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Nov 13, 2007                CoderDream        Created
           
          */
          package com.coderdream.operator;

          /**
           * 
           * <pre>
           *     操作符“==”與多態(tài)性
           *         1、對(duì)于引用類(lèi)型變量,Java編譯器根據(jù)變量被顯式聲明的類(lèi)型去編譯。當(dāng)“==”用于比較引用
           *             類(lèi)型變量時(shí),“==”兩邊的變量被顯式聲明的類(lèi)型必須是同種類(lèi)型或有繼承關(guān)系,即位于
           *             繼承樹(shù)的同一個(gè)繼承分支上,否則編譯出錯(cuò)。
           *         2、在運(yùn)行時(shí),Java 虛擬機(jī)將根據(jù)兩邊的引用變量實(shí)際引用的對(duì)象進(jìn)行比較。
           * </pre>
           * 
           * 
          @author CoderDream
           * 
           
          */
          public class Demo02 {

              
          /**
               * 
               
          */
              
          public static void f1() {
                  Dog dog 
          = new Dog(); // dog變量被聲明為Dog類(lèi)型
                  Creature creature = dog; // 變量creature和dog引用同一個(gè)Dog對(duì)象
                  Animal animal = new Cat(); // animal 變量被聲明為 Animal 類(lèi)型
                  System.out.println(dog == animal); // 合法,打印false
                  System.out.println(dog == creature);// 合法,打印false

              }

              
          /**
               * <pre>
               *     這里變量dog被聲明為Dog類(lèi)型,變量cat被聲明為Cat類(lèi)型,Dog類(lèi)和Cat類(lèi)之間沒(méi)有繼承關(guān)系,
               *     因此這兩個(gè)變量不能用“==”比較。
               * </pre>
               
          */
              
          public static void f2() {
                  Dog dog 
          = new Dog();
                  Cat cat 
          = new Cat();
                  
          // System.out.println(dog == cat);// 編譯出錯(cuò)
              }

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  Demo02.f1();
              }

          }

          class Creature {

          }

          class Animal extends Creature {

          }

          class Dog extends Animal {

          }

          class Cat extends Animal {

          }

          輸出結(jié)果:
          false
          true

          3、操作符“==”用于數(shù)組類(lèi)型
          數(shù)組類(lèi)型也是引用類(lèi)型,可以用“==”進(jìn)行比較

          代碼03:
          /**
           * Demo03.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Nov 13, 2007        CoderDream        Created
           
          */
          package com.coderdream.operator;

          /**
           * <pre>
           *     操作符“==”用于數(shù)組類(lèi)型
           * </pre>
           * 
           * 
          @author CoderDream
           * 
           
          */
          public class Demo03 {

              
          /**
               * <pre>
               *     數(shù)組類(lèi)型也是引用類(lèi)型,可以用“==”進(jìn)行比較
               * </pre>
               
          */
              
          public static void f1() {
                  
          // boolean b1 = new int[4] == new long[5];//編譯出錯(cuò),兩邊類(lèi)型不一致
                  boolean b2 = new int[4== new int[4];// 合法,b2的值為false
                  System.out.println(b2);

                  
          int[] array1 = new int[4];
                  
          int[] array2 = array1;
                  
          boolean b3 = array1 == array2; // 合法,b3的值為true
                  System.out.println(b3);
              }

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  Demo03.f1();
              }

          }

          輸出結(jié)果:
          false
          true

          4、equals() 方法
          equals() 方法是在 Object 類(lèi)中定義的方法,它的聲明格式如下:
              public boolean equals(Object obj)
          Object 類(lèi)的 equals() 方法的比較規(guī)則為:當(dāng)參數(shù) obj 引用的對(duì)象與當(dāng)前對(duì)象為同一個(gè)對(duì)象時(shí),就返回true,否則返回false。 

           在JDK中有一些類(lèi)覆蓋了 Object 類(lèi)的equal()方法,它們的比較規(guī)則為:
            如果兩個(gè)對(duì)象的類(lèi)型一致,并且內(nèi)容一致,則返回true。
           這些類(lèi)包括:java.io.File、java.util.Date、java.lang.String、包裝類(lèi)(如java.lang.Integer和java.lang.Double類(lèi))。

          代碼04:
          /**
           * Demo04.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Nov 13, 2007        CoderDream        Created
           
          */
          package com.coderdream.operator;

          /**
           * 
          @author CoderDream
           * 
           
          */
          public class Demo04 {

              
          /**
               * <pre>
               *     equals() 方法是在 Object 類(lèi)中定義的方法,它的聲明格式如下:
               *         public boolean equals(Object obj)
               *     Object 類(lèi)的 equals() 方法的比較規(guī)則為:當(dāng)參數(shù) obj 引用的對(duì)象與當(dāng)前對(duì)象為
               *     同一個(gè)對(duì)象時(shí),就返回true,否則返回false。 
               * </pre>
               
          */
              
          public boolean equals(Object obj) {
                  
          if (this == obj) {
                      
          return true;
                  } 
          else {
                      
          return false;
                  }
              }

              
          /**
               * <pre>
               *         1、a1和a2變量引用不同的對(duì)象,因此用“==”或 equals() 方法比較的結(jié)果都為 false;
               *         2、a1和a3變量都引用同一個(gè)Dog對(duì)象,因此用“==”或equals()方法比較的結(jié)果都為true;
               * </pre>
               
          */
              
          public static void f1() {
                  Animal a1 
          = new Dog();
                  Animal a2 
          = new Cat();
                  Animal a3 
          = a1;

                  System.out.println(a1 
          == a2); // 打印false
                  System.out.println(a1.equals(a2)); // 打印false

                  System.out.println(a1 
          == a3); // 打印true
                  System.out.println(a1.equals(a3)); // 打印true
              }

              
          /**
               * <pre>
               *     在JDK中有一些類(lèi)覆蓋了 Object 類(lèi)的equal()方法,它們的比較規(guī)則為:
               *         如果兩個(gè)對(duì)象的類(lèi)型一致,并且內(nèi)容一致,則返回true。
               *     這些類(lèi)包括:java.io.File、java.util.Date、java.lang.String、
               *         包裝類(lèi)(如java.lang.Integer和java.lang.Double類(lèi))。 
               * </pre>
               
          */
              
          public static void f2() {
                  Integer int1 
          = new Integer(1);
                  Integer int2 
          = new Integer(1);

                  String str1 
          = new String("Hello");
                  String str2 
          = new String("Hello");

                  System.out.println(int1 
          == int2); // 打印false
                  System.out.println(int1.equals(int2)); // 打印true

                  System.out.println(str1 
          == str2); // 打印false
                  System.out.println(str1.equals(str2)); // 打印true
              }

              
          /**
               * <pre>
               *  Boolean 類(lèi)是包裝類(lèi),只要兩個(gè)Boolean對(duì)象的布爾值內(nèi)容一樣,
               *  equals()方法的比較結(jié)果就為true。
               * </pre>
               
          */
              
          public static void f3() {
                  Boolean b1 
          = new Boolean(true);
                  Boolean b2 
          = new Boolean(true);
                  
          if (b1 == b2) {
                      
          if (b1.equals(b2)) {
                          System.out.println(
          "a");
                      } 
          else {
                          System.out.println(
          "b");
                      }
                  } 
          else {
                      
          if (b1.equals(b2)) {
                          System.out.println(
          "c"); // 執(zhí)行這段代碼
                      } else {
                          System.out.println(
          "d");
                      }
                  }
              }

              
          /**
               * <pre>
               *  b1和obj1被聲明為不同的類(lèi)型,但它們實(shí)際引用的是同一個(gè)Dog對(duì)象,
               *  因此用“==”或equals()方法比較的結(jié)果都為true。
               * </pre>
               
          */
              
          public static void f4() {
                  Boolean b1 
          = new Boolean(true);
                  Object obj1 
          = (Object) b1;
                  
          if (b1 == obj1) {
                      
          if (b1.equals(obj1)) {
                          System.out.println(
          "a"); // 執(zhí)行這段代碼
                      } else {
                          System.out.println(
          "b");
                      }
                  } 
          else {
                      
          if (b1.equals(obj1)) {
                          System.out.println(
          "c");
                      } 
          else {
                          System.out.println(
          "d");
                      }
                  }
              }

              
          /**
               * <pre>
               *  Float 和 Double 類(lèi)型是包裝類(lèi)型,只要兩個(gè) Float 對(duì)象或兩個(gè) Double對(duì)象的內(nèi)容一樣,
               *      equals()方法比較的結(jié)果就為true。
               * </pre>
               
          */
              
          public static void f5() {
                  Float f1 
          = new Float("10F");
                  Float f2 
          = new Float("10F");
                  Double d1 
          = new Double("10D");

                  System.out.println(f1 
          == f2); // 打印false
                  System.out.println(f1.equals(f2)); // 打印true
                  System.out.println(f1.equals(d1)); // 打印false,因?yàn)閒2和d1不是相同類(lèi)型
                  System.out.println(f1.equals(new Float("10"))); // 打印true
              }

              
          /**
               * <pre>
               *  例如以下變量a和b引用不同的String對(duì)象,但它們包含的內(nèi)容都是“helle”,
               *      所以a.equals(b)的結(jié)果為true;
               *  而變量c是字符串?dāng)?shù)組類(lèi)型,因此a.equals(c)的結(jié)果為false。
               * </pre>
               
          */
              
          public static void f6() {
                  String a 
          = "hello";
                  String b 
          = new String(a);
                  
          char[] c = { 'h''e''l''l''o' };

                  System.out.println(a 
          == "hello"); // 打印true
                  System.out.println(a == b); // 打印false
                  System.out.println(a.equals(b)); // 打印true
                  System.out.println(a.equals(c)); // 打印false
              }

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  System.out.println(
          "----------f1()------------");
                  Demo04.f1();
                  System.out.println(
          "----------f2()------------");
                  Demo04.f2();
                  System.out.println(
          "----------f3()------------");
                  Demo04.f3();
                  System.out.println(
          "----------f4()------------");
                  Demo04.f4();
                  System.out.println(
          "----------f5()------------");
                  Demo04.f5();
                  System.out.println(
          "----------f6()------------");
                  Demo04.f6();
              }

          }

          輸出結(jié)果:
          ----------f1()------------
          false
          false
          true
          true
          ----------f2()------------
          false
          true
          false
          true
          ----------f3()------------
          c
          ----------f4()------------
          a
          ----------f5()------------
          false
          true
          false
          true
          ----------f6()------------
          true
          false
          true
          false

          5、在用戶自定義的類(lèi)中也可以覆蓋Object類(lèi)的equals()方法,重新定義比較規(guī)則。
          代碼05:
          /**
           * Demo05.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Nov 13, 2007        CoderDream        Created
           
          */
          package com.coderdream.operator;

          /**
           * 
          @author CoderDream
           * 
           
          */
          public class Demo05 {

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  Person p1 
          = new Person("Tom");
                  Person p2 
          = new Person("Tom");
                  System.out.println(p1 
          == p2); // 打印 false
                  System.out.println(p1.equals(p2)); // 打印 true
              }

          }

          class Person {
              
          private String name;

              
          public Person(String name) {
                  
          this.name = name;
              }

              
          /*
               * (non-Javadoc)
               * 
               * @see java.lang.Object#equals(java.lang.Object)
               
          */
              
          public boolean equals(Object o) {
                  
          if (this == o) {
                      
          return true;
                  }

                  
          final Person other = (Person) o;
                  
          if (this.name.equals(other.name)) {
                      
          return true;
                  } 
          else {
                      
          return false;
                  }
              }
          }

          輸出結(jié)果:
          false
          true

          6、 instanceof操作符

           instanceof操作符用于判斷一個(gè)引用類(lèi)型所引用的對(duì)象是否是一個(gè)類(lèi)的實(shí)例。
           instanceof操作符左邊的操作元是一個(gè)引用類(lèi)型,右邊的操作元是一個(gè)類(lèi)名或接口名。
           形式如下:

            obj instanceof ClassName

          或者:

          obj instanceof InterfaceName 


             例如:

            Dog dog = new Dog();
            Systom.out.println(dog 
          instanceof XXX);//XXX表示一個(gè)類(lèi)名或接口名


            一個(gè)類(lèi)的實(shí)例包括類(lèi)本身的實(shí)例,以及所有直接或間接的子類(lèi)的實(shí)例,因此當(dāng)&quot;XXX&quot;是以下
           值時(shí),instanceof 表達(dá)式的值為true。
            ● Dog類(lèi)
            ● Dog類(lèi)的直接或間接父類(lèi)
            ● Dog類(lèi)實(shí)現(xiàn)的接口,已經(jīng)所有父類(lèi)實(shí)現(xiàn)的接口。


          代碼06:
          /**
           * Demo06.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Nov 13, 2007        CoderDream        Created
           
          */
          package com.coderdream.operator;

          /**
           * <pre>
           *     instanceof操作符用于判斷一個(gè)引用類(lèi)型所引用的對(duì)象是否是一個(gè)類(lèi)的實(shí)例。
           *     instanceof操作符左邊的操作元是一個(gè)引用類(lèi)型,右邊的操作元是一個(gè)類(lèi)名或接口名。
           *     形式如下:
           *         obj instanceof ClassName
           *     或者:
           *         obj instanceof InterfaceName 
           *          例如:
           *         Dog dog = new Dog();
           *         Systom.out.println(dog instanceof XXX);//XXX表示一個(gè)類(lèi)名或接口名
           * 
           *         一個(gè)類(lèi)的實(shí)例包括類(lèi)本身的實(shí)例,以及所有直接或間接的子類(lèi)的實(shí)例,因此當(dāng)&quot;XXX&quot;是以下
           *     值時(shí),instanceof 表達(dá)式的值為true。
           *         ● Dog類(lèi)
           *         ● Dog類(lèi)的直接或間接父類(lèi)
           *         ● Dog類(lèi)實(shí)現(xiàn)的接口,已經(jīng)所有父類(lèi)實(shí)現(xiàn)的接口。
           * </pre>
           * 
           * 
           * 
          @author CoderDream
           * 
           
          */
          public class Demo06 {

              
          /**
               * <pre>
               *     由于Animal是Dog的直接父類(lèi),Creature類(lèi)和Object類(lèi)是Dog的間接父類(lèi),
               *     因此以下 instanceof 表達(dá)式的值為true。
               * </pre>
               
          */
              
          public static void f1() {
                  Dog dog 
          = new Dog();
                  System.out.println(dog 
          instanceof Dog); // 打印 true
                  System.out.println(dog instanceof Animal); // 打印 true
                  System.out.println(dog instanceof Creature); // 打印 true
                  System.out.println(dog instanceof Object); // 打印 true
              }

              
          /**
               * <pre>
               *     instanceof 右邊的操作元也可以是接口名。
               * </pre>
               
          */
              
          public static void f2() {
                  B b 
          = new B();
                  System.out.println(b 
          instanceof I); // 打印 true
              }

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  System.out.println(
          "-----------f1()-----------");
                  Demo06.f1();
                  System.out.println(
          "-----------f2()-----------");
                  Demo06.f2();

              }

          }

          interface I {

          }

          class A implements I {

          }

          class B extends A {

          }

          輸出結(jié)果:
          -----------f1()-----------
          true
          true
          true
          true
          -----------f2()-----------
          true

          7、  instanceof 與多態(tài)性
             對(duì)于引用類(lèi)型變量,Java 編譯器只根據(jù)變量被先生聲明的類(lèi)去編譯。
             instanceof 左邊操作元被顯式聲明的類(lèi)型與右邊操作元必須是同種類(lèi)或者有繼承關(guān)系,即位于繼承樹(shù)的同一個(gè)繼承分支上,否則編譯出錯(cuò)。
              Dog dog = new Dog();
              System.out.println(dog 
          instanceof Cat); // 編譯出錯(cuò)
           
              Cat cat 
          = new Cat();
              System.out.println(cat 
          instanceof Dog); // 編譯出錯(cuò)

            instanceof 用于數(shù)組類(lèi)型
             boolean b1 = new int[4instanceof long[]; // 編譯出錯(cuò),兩邊操作元類(lèi)型不一致
             boolean b2 = new int[4instanceof int[]; // 合法,b2的值為true

          代碼07:
          /**
           * Demo07.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Nov 13, 2007        CoderDream        Created
           
          */
          package com.coderdream.operator;

          /**
           * <pre>
           *     instanceof 與多態(tài)性
           *         對(duì)于引用類(lèi)型變量,Java 編譯器只根據(jù)變量被先生聲明的類(lèi)去編譯。
           *         instanceof 左邊操作元被顯式聲明的類(lèi)型與右邊操作元必須是同種類(lèi)或者有繼承關(guān)系,
           *         即位于繼承樹(shù)的同一個(gè)繼承分支上,否則編譯出錯(cuò)。
           *             Dog dog = new Dog();
           *             System.out.println(dog instanceof Cat); // 編譯出錯(cuò)
           * 
           *             Cat cat = new Cat();
           *             System.out.println(cat instanceof Dog); // 編譯出錯(cuò)
           *         
           *     instanceof 用于數(shù)組類(lèi)型
           *         boolean b1 = new int[4] instanceof long[]; // 編譯出錯(cuò),兩邊操作元類(lèi)型不一致
           *         boolean b2 = new int[4] instanceof int[]; // 合法,b2的值為true
           * </pre>
           * 
           * 
          @author CoderDream
           * 
           
          */
          public class Demo07 {

              
          /**
               * <pre>
               *     在運(yùn)行時(shí),將根據(jù)左邊操作元實(shí)際引用的對(duì)象來(lái)判斷。
               * </pre>
               
          */
              
          public static void f1() {
                  Animal a 
          = new Dog(); // a 變量被聲明為Animal類(lèi)型,引用Dog對(duì)象
                  System.out.println(a instanceof Animal); // 合法, 打印true
                  System.out.println(a instanceof Dog); // 合法, 打印true
                  System.out.println(a instanceof Cat); // 合法, 打印false
              }

              
          /**
               * <pre>
               *     假定Animal類(lèi)是非抽象類(lèi),允許實(shí)例化,
               * 
               * </pre>
               
          */
              
          public static void f2() {
                  System.out.println((
          new Demo07()).isInstanceOfAnimal(new Dog())); // 打印fasle
                  System.out.println((new Demo07()).isInstanceOfAnimal(new Cat())); // 打印fasle
                  System.out.println((new Demo07()).isInstanceOfAnimal(new Animal())); // 打印true
                  System.out.println((new Demo07()).isInstanceOfAnimal(new Creature())); // 打印fasle
              }

              
          /**
               * <pre>
               *     假定Animal類(lèi)是非抽象類(lèi),允許實(shí)例化,以下判斷規(guī)則:
               *         只有當(dāng)參數(shù) obj 引用 Animal 類(lèi)本身的實(shí)例,而不是它的子類(lèi)Dog或Cat多實(shí)例時(shí),
               *         才返回true。
               * 
               *     如果 obj instanceof Animal為true,那么obj有可能引用 Animal本身、Dog類(lèi)本身
               *         或Cat類(lèi)本身的實(shí)例;
               *     如果 obj instanceof Dog 和 obj instanceof Cat均為false,那么 obj 不會(huì)引用
               *         Dog類(lèi)本身或Cat類(lèi)本身的實(shí)例。
               *     如果同時(shí)滿足這幾個(gè)條件,就可以得出 obj 引用 Animal 類(lèi)本身的實(shí)例的結(jié)論。
               * </pre>
               * 
               * 
          @param obj
               * 
          @return
               
          */
              
          public boolean isInstanceOfAnimal(Object obj) {
                  
          return obj instanceof Animal && !(obj instanceof Dog)
                          
          && !(obj instanceof Cat);
              }

              
          /**
               * <pre> 
               *     instanceof 用于數(shù)組類(lèi)型
               * </pre>
               
          */
              
          public static void f3() {
                  
          // boolean b1 = new int[4] instanceof long[]; // 編譯出錯(cuò),兩邊操作元類(lèi)型不一致
                  boolean b2 = new int[4instanceof int[]; // 合法,b2的值為true
                  System.out.println(b2);
              }

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  System.out.println(
          "-----------f1()-----------");
                  Demo07.f1();
                  System.out.println(
          "-----------f2()-----------");
                  Demo07.f2();
                  System.out.println(
          "-----------f3()-----------");
                  Demo07.f3();
              }

          }

          輸出結(jié)果:
          -----------f1()-----------
          true
          true
          false
          -----------f2()-----------
          false
          false
          true
          false
          -----------f3()-----------
          true


          posted on 2007-11-13 17:14 CoderDream 閱讀(1349) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 經(jīng)驗(yàn)點(diǎn)滴

          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(9)

          我參與的團(tuán)隊(duì)

          隨筆分類(lèi)(245)

          隨筆檔案(239)

          文章分類(lèi)(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458376
          • 排名 - 114

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 远安县| 大方县| 昆山市| 松江区| 通州区| 穆棱市| 黔江区| 鹤峰县| 阜新市| 通江县| 图们市| 内江市| 六盘水市| 旅游| 南木林县| 潼关县| 隆回县| 大关县| 滁州市| 探索| 邵阳市| 高邑县| 城固县| 平顺县| 丹寨县| 盱眙县| 平罗县| 樟树市| 南投市| 东海县| 修武县| 安岳县| 夹江县| 理塘县| 嘉黎县| 兴隆县| 新乡市| 龙南县| 嘉禾县| 江陵县| 肇东市|