Guest User

Untitled

a guest
Feb 25th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.92 KB | None | 0 0
  1. public final class MyEqualityTest
  2. {
  3. public static void main( String args[] )
  4. {
  5. String s1 = new String( "Test" );
  6. String s2 = new String( "Test" );
  7.  
  8. System.out.println( "n1 - PRIMITIVES ");
  9. System.out.println( s1 == s2 ); // false
  10. System.out.println( s1.equals( s2 )); // true
  11.  
  12. A a1 = new A();
  13. A a2 = new A();
  14.  
  15. System.out.println( "n2 - OBJECT TYPES / STATIC VARIABLE" );
  16. System.out.println( a1 == a2 ); // false
  17. System.out.println( a1.s == a2.s ); // true
  18. System.out.println( a1.s.equals( a2.s ) ); // true
  19.  
  20. B b1 = new B();
  21. B b2 = new B();
  22.  
  23. System.out.println( "n3 - OBJECT TYPES / NON-STATIC VARIABLE" );
  24. System.out.println( b1 == b2 ); // false
  25. System.out.println( b1.getS() == b2.getS() ); // false
  26. System.out.println( b1.getS().equals( b2.getS() ) ); // true
  27. }
  28. }
  29.  
  30. final class A
  31. {
  32. // static
  33. public static String s;
  34. A()
  35. {
  36. this.s = new String( "aTest" );
  37. }
  38. }
  39.  
  40. final class B
  41. {
  42. private String s;
  43. B()
  44. {
  45. this.s = new String( "aTest" );
  46. }
  47.  
  48. public String getS()
  49. {
  50. return s;
  51. }
  52.  
  53. }
  54.  
  55. String mango = "mango";
  56. String mango2 = "mango";
  57. System.out.println(mango != mango2);
  58. System.out.println(mango == mango2);
  59.  
  60. false
  61. true
  62.  
  63. true
  64. false
  65.  
  66. String mango = "mango";
  67. String mango3 = new String("mango");
  68. System.out.println(mango != mango3);
  69. System.out.println(mango == mango3);
  70.  
  71. false
  72. true
  73.  
  74. true
  75. false
  76.  
  77. String mango = "mango";
  78. String mango2 = "mango";
  79. String mango3 = new String("mango");
  80. System.out.println(mango != mango2);
  81. System.out.println(mango == mango2);
  82. System.out.println(mango3 != mango2);
  83. System.out.println(mango3 == mango2);
  84. // mango2 = "mang";
  85. System.out.println(mango+" "+ mango2);
  86. System.out.println(mango != mango2);
  87. System.out.println(mango == mango2);
  88.  
  89. System.out.println(System.identityHashCode(mango));
  90. System.out.println(System.identityHashCode(mango2));
  91. System.out.println(System.identityHashCode(mango3));
  92.  
  93. false
  94. true
  95. true
  96. false
  97. mango mango
  98. false
  99. true
  100. 17225372
  101. 17225372
  102. 5433634
  103.  
  104. mango = "mango";
  105.  
  106. mango ----> "mango"
  107.  
  108. mango2 = "mango";
  109.  
  110. mango ----> "mango" <---- mango2
  111.  
  112. mango3 = new String("mango")
  113.  
  114. mango -----> "mango" <------ mango2
  115.  
  116. mango3 ------> "mango"
  117.  
  118. mango ---->"mango"
  119. mango2 ----> "mang"
  120. mango3 -----> "mango"
  121.  
  122. String foo = new String("abc");
  123. String bar = new String("abc");
  124.  
  125. if(foo==bar)
  126. // False (The objects are not the same)
  127.  
  128. bar = foo;
  129.  
  130. if(foo==bar)
  131. // True (Now the objects are the same)
  132.  
  133. String foo = new String("abc");
  134. String bar = new String("abc");
  135.  
  136. if(foo.equals(bar))
  137. // True (The objects are identical but not same)
  138.  
  139. enum FooEnum {A, B, C}
  140.  
  141. public boolean compareFoos(FooEnum x, FooEnum y)
  142. {
  143. return (x == y);
  144. }
  145.  
  146. String w1 ="Sarat";
  147. String w2 ="Sarat";
  148. String w3 = new String("Sarat");
  149.  
  150. System.out.println(w1.hashCode()); //3254818
  151. System.out.println(w2.hashCode()); //3254818
  152. System.out.println(w3.hashCode()); //3254818
  153.  
  154. System.out.println(System.identityHashCode(w1)); //prints 705927765
  155. System.out.println(System.identityHashCode(w2)); //prints 705927765
  156. System.out.println(System.identityHashCode(w3)); //prints 366712642
  157.  
  158.  
  159. if(w1==w2) // (705927765==705927765)
  160. {
  161. System.out.println("true");
  162. }
  163. else
  164. {
  165. System.out.println("false");
  166. }
  167. //prints true
  168.  
  169. if(w2==w3) // (705927765==366712642)
  170. {
  171. System.out.println("true");
  172. }
  173. else
  174. {
  175. System.out.println("false");
  176. }
  177. //prints false
  178.  
  179.  
  180. if(w2.equals(w3)) // (Content of 705927765== Content of 366712642)
  181. {
  182. System.out.println("true");
  183. }
  184. else
  185. {
  186. System.out.println("false");
  187. }
  188. //prints true
  189.  
  190. String s1 = new String("Ali");
  191. String s2 = new String("Veli");
  192. String s3 = new String("Ali");
  193.  
  194. System.out.println(s1.hashCode());
  195. System.out.println(s2.hashCode());
  196. System.out.println(s3.hashCode());
  197.  
  198.  
  199. System.out.println("(s1==s2):" + (s1 == s2));
  200. System.out.println("(s1==s3):" + (s1 == s3));
  201.  
  202.  
  203. System.out.println("s1.equals(s2):" + (s1.equals(s2)));
  204. System.out.println("s1.equal(s3):" + (s1.equals(s3)));
  205.  
  206.  
  207. /*Output
  208. 96670
  209. 3615852
  210. 96670
  211. (s1==s2):false
  212. (s1==s3):false
  213. s1.equals(s2):false
  214. s1.equal(s3):true
  215. */
  216.  
  217. class A
  218. {
  219. int id;
  220. String str;
  221.  
  222. public A(int id,String str)
  223. {
  224. this.id=id;
  225. this.str=str;
  226. }
  227.  
  228. public static void main(String arg[])
  229. {
  230. A obj=new A(101,"sam");
  231. A obj1=new A(101,"sam");
  232.  
  233. obj.equals(obj1)//fasle
  234. obj==obj1 // fasle
  235. }
  236. }
  237.  
  238. class A
  239. {
  240. int id;
  241. String str;
  242.  
  243. public A(int id,String str)
  244. {
  245. this.id=id;
  246. this.str=str;
  247. }
  248. public boolean equals(Object obj)
  249. {
  250. A a1=(A)obj;
  251. return this.id==a1.id;
  252. }
  253.  
  254. public static void main(String arg[])
  255. {
  256. A obj=new A(101,"sam");
  257. A obj1=new A(101,"sam");
  258.  
  259. obj.equals(obj1)//true
  260. obj==obj1 // fasle
  261. }
  262. }
  263.  
  264. public class StringPool {
  265.  
  266. public static void main(String[] args) {
  267.  
  268. String s1 = "Cat";// will create reference in string pool of heap memory
  269. String s2 = "Cat";
  270. String s3 = new String("Cat");//will create a object in heap memory
  271.  
  272. // Using == will give us true because same reference in string pool
  273.  
  274. if (s1 == s2) {
  275. System.out.println("true");
  276. } else {
  277. System.out.println("false");
  278. }
  279.  
  280. // Using == with reference and Object will give us False
  281.  
  282. if (s1 == s3) {
  283. System.out.println("true");
  284. } else {
  285. System.out.println("false");
  286. }
  287.  
  288. // Using .equals method which refers to value
  289.  
  290. if (s1.equals(s3)) {
  291. System.out.println("true");
  292. } else {
  293. System.out.println("False");
  294. }
  295.  
  296. }
  297. }
  298.  
  299. Long a = 10L;
  300. Long b = 10L;
  301.  
  302. if (a == b) {
  303. System.out.println("Wrapped primitives behave like values");
  304. }
  305.  
  306. ArrayList<Long> c = new ArrayList<>();
  307. ArrayList<Long> d = new ArrayList<>();
  308.  
  309. c.add(a);
  310. d.add(b);
  311. if (c == d) System.out.println("No way!");
  312. if (c.equals(d)) System.out.println("Yes, this is true.");
  313.  
  314. String string1 = "Ravi";
  315. String string2 = "Ravi";
  316. String string3 = new String("Ravi");
  317. String string4 = new String("Prakash");
  318.  
  319. System.out.println(string1 == string2); // true because same reference in string pool
  320. System.out.println(string1 == string3); // false
  321.  
  322. System.out.println(string1.equals(string2)); // true equals() comparison of values in the objects
  323. System.out.println(string1.equals(string3)); // true
  324. System.out.println(string1.equals(string4)); // false
  325.  
  326. assert "ab" == "a" + "b";
  327.  
  328. Integer i = 1;
  329. Integer j = i;
  330. assert i == j;
  331.  
  332. assert new String("a") != new String("a");
  333.  
  334. Integer i = 128;
  335. Integer j = 128;
  336. assert i != j;
  337.  
  338. assert (new String("a")).equals(new String("a"));
  339.  
  340. Integer i = 128;
  341. Integer j = 128;
  342. assert i.equals(j);
  343.  
  344. HashMap<Cat, String> cats = new HashMap<>();
  345. Cat cat = new Cat("molly");
  346. cats.put(cat, "This is a cool cat");
  347. System.out.println(cats.get(new Cat("molly"));
Add Comment
Please, Sign In to add comment