blob: 48d24e5b547ea108915c665baa901a20ace76592 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
object Test extends App {
// For these methods, the compiler emits calls to BoxesRuntime.equalsNumNum/equalsNumChar/equalsNumObject directly
def numNum(a: java.lang.Number, b: java.lang.Number) = assert(a == b)
def numChar(a: java.lang.Number, b: java.lang.Character) = assert(a == b)
def numObject(a: java.lang.Number, b: java.lang.Object) = assert(a == b)
// The compiler doesn't use equalsCharObject directly, but still adding an example for completeness
def charObject(a: java.lang.Character, b: java.lang.Object) = assert(a == b)
numNum(new Integer(1), new Integer(1))
numChar(new Integer(97), new Character('a'))
numObject(new Integer(1), new Integer(1))
numObject(new Integer(97), new Character('a'))
charObject(new Character('a'), new Integer(97))
}
|