IdentityCheck

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Current revision (22:38, 4 June 2009) (edit) (undo)
 
Line 6: Line 6:
</source>
</source>
<source lang="java">
<source lang="java">
-
public static void sayHello() {
+
public static String sayHello() {
String s1 = "Hello";
String s1 = "Hello";
String s2 = " World!";
String s2 = " World!";

Current revision

Is there an externally observable difference between following programs?

public static String sayHello() {
  return "Hello World!";
}
public static String sayHello() {
  String s1 = "Hello";
  String s2 = " World!";
  return s1 + s2;
}

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