- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包額外內容
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java - Character.Subset equals() 方法
Java 的 Character.Subset equals() 方法用於比較兩個 Subset 物件是否相等。只有當 this 物件和引數物件的引用相同,該方法的結果才為 true。
由於我們使用 final 訪問修飾符修飾此方法,因此 Subset 類所有子類的返回值都將保證相同。
注意 - 此方法使用繼承的概念來建立 Subset 物件,因為 Character.Subset 類中的建構函式具有受保護的訪問許可權。因此,Character.Subset 類擴充套件自另一個公共類,該類的建構函式使用 super() 方法呼叫建立物件的 Object 類。
語法
以下是 Java Character.Subset equals() 方法的語法
public final boolean equals(Object obj)
引數
obj - 這是要比較的引用物件。
返回值
如果此物件與 obj 引數相同,則此方法返回 true,否則返回 false。
比較 Subset 物件是否相等的示例
在下面的示例中,我們例項化 CharacterSubsetDemo 類物件。然後在這些物件上呼叫 Java Character.Subset equals() 方法以檢查它們是否相等。
package com.tutorialspoint;
public class CharacterSubsetDemo extends Character.Subset {
// constructor of super class
CharacterSubsetDemo(String s) {
super(s); // invokes the immediate parent class: Object
}
public static void main(String[] args) {
CharacterSubsetDemo obj1 = new CharacterSubsetDemo("admin");
CharacterSubsetDemo obj2 = new CharacterSubsetDemo("webmaster");
CharacterSubsetDemo obj3 = new CharacterSubsetDemo("administrator");
// compares Subset objects for equality
boolean retval = obj1.equals(obj1);
System.out.println("Object obj1 is equal to obj1 ? " + retval);
retval = obj2.equals(obj1);
System.out.println("Object obj1 is equal to obj2 ? " + retval);
retval = obj3.equals(obj1);
System.out.println("Object obj1 is equal to obj3 ? " + retval);
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
Object obj1 is equal to obj1 ? true Object obj1 is equal to obj2 ? false Object obj1 is equal to obj3 ? false
比較相同的 Subset 物件是否相等的示例
另一個示例,使用 equals() 方法檢查兩個給定的 Subset 物件(一個物件引用另一個 Subset 物件)是否相等,如下所示。
package com.tutorialspoint;
public class CharacterSubsetDemo extends Character.Subset {
// constructor of super class
CharacterSubsetDemo(String s) {
super(s); // immediate parent class invoked to create object
}
public static void main(String[] args) {
CharacterSubsetDemo obj1 = new CharacterSubsetDemo("admin");
CharacterSubsetDemo obj2 = obj1;
// compares Subset objects for equality
boolean val = obj2.equals(obj1);
System.out.println("Object 1 is equal to Object 2 ? " + val);
}
}
輸出
讓我們編譯並執行上面的程式,輸出顯示為:
Object 1 is equal to Object 2 ? true
比較不同的 Subset 物件是否相等的示例
以下另一個示例展示了 Java Character.Subset equals() 方法的工作原理。兩個不同的 Subset 物件使用相同的字串值例項化;在這些物件上呼叫該方法以檢查它們是否相等。由於物件引用不同,即使它們包含相同的值,該方法也會返回 false。
package com.tutorialspoint;
public class CharacterSubsetDemo extends Character.Subset {
CharacterSubsetDemo(String s) {
super(s);
}
public static void main(String[] args) {
CharacterSubsetDemo obj1 = new CharacterSubsetDemo("23AS&%");
CharacterSubsetDemo obj2 = new CharacterSubsetDemo("23AS&%");
// compares Subset objects for equality
boolean value = obj2.equals(obj1);
System.out.println("Object 1 is equal to Object 2 ? " + value);
}
}
輸出
一旦我們編譯並執行上面的程式,輸出將顯示如下。即使字串名稱相同,輸出也為 false:
Object 1 is equal to Object 2 ? false
比較 Subset 物件與 Null 是否相等的示例
以下示例展示了當物件引數作為 null 傳遞給該方法時的用法:
public class CharacterSubsetDemo extends Character.Subset {
CharacterSubsetDemo(String s) {
super(s);
}
public static void main(String[] args) {
CharacterSubsetDemo obj1 = new CharacterSubsetDemo(null);
CharacterSubsetDemo obj2 = new CharacterSubsetDemo("23AS&%");
// compares Subset objects for equality
boolean res_value = obj2.equals(obj1);
System.out.println("Object 1 is equal to Object 2 ? " + res_value);
}
}
異常
程式編譯並執行後,輸出將列印以下 NullPointerException:
Exception in thread "main" java.lang.NullPointerException: nameat java.lang.Character$Subset.<init>(Character.java:615) at CharacterSubsetDemo.<init>(CharacterSubsetDemo.java:6) at CharacterSubsetDemo.main(CharacterSubsetDemo.java:11)