'. '

IdentityCheck

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(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.

Personal tools
buy