在大衛·弗拉納根的JavaScript指導,有一種說法: ==操作符從未嘗試轉換其操作數爲布爾 所以我在這裏做了一個小測試: var a = false;
var b = ""; // empty string
a == b; //returns true
看着Abstract Equality Comparison Algorithm有一點: e。如果Type(x)是布爾值,則返回tru
我可以知道==是如何工作的嗎? public class App {
public static void main(String[] args) {
String s1 = new String("str");
String s2 = new String("str");
System.err.println("why it,s "+String.v
我尋找一個可靠的方法來測試兩個基本類型的包裝Numbers(例如Integer,Float,Double等)表示等於原始號碼。 例如以下如果涉及兩個原始數字語句產生true: int i = 100;
double d = 100d;
if (i == d) {
System.out.println("equal");
}
但是,如果語句當然false以來Number實例是不同
下面的代碼打印出「假」: a := 'aaa'.
b := a deepCopy.
Transcript show: (a == b).
我確實希望這種行爲,我解釋到,這將是deepcopy的返回一個新的對象「B」這是一個完全不同的因爲運算符「==」通過引用比較的結果是「false」,所以比「a」更快。那是對的嗎? 不過,我不明白爲什麼下面的代碼會產生「真」: a := 'aaa'.
b