// equalshashcode/Equality.java// (c)2017 MindView LLC: see Copyright.txt// We make no guarantees that this code is fit for any purpose.// Visit http://OnJava8.com for more book information.import java.util.*;public class Equality {protected int i;protected String s;protected double d;public Equality(int i, String s, double d) {this.i = i;this.s = s;this.d = d;System.out.println("made 'Equality'");}@Overridepublic boolean equals(Object rval) {if(rval == null)return false;if(rval == this)return true;if(!(rval instanceof Equality))return false;Equality other = (Equality)rval;if(!Objects.equals(i, other.i))return false;if(!Objects.equals(s, other.s))return false;if(!Objects.equals(d, other.d))return false;return true;}public voidtest(String descr, String expected, Object rval) {System.out.format("-- Testing %s --%n" +"%s instanceof Equality: %s%n" +"Expected %s, got %s%n",descr, descr, rval instanceof Equality,expected, equals(rval));}public static void testAll(EqualityFactory eqf) {Equalitye = eqf.make(1, "Monty", 3.14),eq = eqf.make(1, "Monty", 3.14),neq = eqf.make(99, "Bob", 1.618);e.test("null", "false", null);e.test("same object", "true", e);e.test("different type","false", Integer.valueOf(99));e.test("same values", "true", eq);e.test("different values", "false", neq);}public static void main(String[] args) {testAll( (i, s, d) -> new Equality(i, s, d));}}/* Output:made 'Equality'made 'Equality'made 'Equality'-- Testing null --null instanceof Equality: falseExpected false, got false-- Testing same object --same object instanceof Equality: trueExpected true, got true-- Testing different type --different type instanceof Equality: falseExpected false, got false-- Testing same values --same values instanceof Equality: trueExpected true, got true-- Testing different values --different values instanceof Equality: trueExpected false, got false*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。