IdentityCheck
From APIDesign
(Difference between revisions)
(New page: Is there an externally observable difference between following programs? public static String sayHello() { return "Hello World!"; } public static void sayHello() { return "Hello" + " ...) |
|||
Line 1: | Line 1: | ||
Is there an externally observable difference between following programs? | Is there an externally observable difference between following programs? | ||
+ | <source lang="java"> | ||
public static String sayHello() { | public static String sayHello() { | ||
return "Hello World!"; | return "Hello World!"; | ||
} | } | ||
+ | </source> | ||
+ | <source lang="java"> | ||
public static void sayHello() { | public static void sayHello() { | ||
return "Hello" + " World!"; | return "Hello" + " World!"; | ||
} | } | ||
+ | </source> | ||
Of course, there is! Just call the method twice: | Of course, there is! Just call the method twice: |
Revision as of 20:37, 9 March 2009
Is there an externally observable difference between following programs?
public static String sayHello() { return "Hello World!"; }
public static void sayHello() { return "Hello" + " World!"; }
Of course, there is! Just call the method twice:
assert sayHello() == sayHello();
The first version of the method passes the IdentityCheck test. The second does not. There are also other differences in MemoryAllocations as well as StringsUsedInConstantPool.