Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: markspace <-@.> Newsgroups: comp.lang.java.programmer Subject: Re: equals(), Sets, Maps, and degrees of equality Date: Thu, 10 Nov 2011 10:27:01 -0800 Organization: A noiseless patient Spider Lines: 20 Message-ID: References: <24123649.762.1320892382934.JavaMail.geo-discussion-forums@vbmh5> <663d43b1-2c58-40ea-90d5-d46b8ae821e5@cc2g2000vbb.googlegroups.com> <5a705514-4b5e-48c2-8984-83e3b62b23b9@y7g2000vbe.googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 10 Nov 2011 18:27:03 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="XjIWM99mD7Ijfdu600oVPA"; logging-data="12943"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/QGGlqMOW/x9r54NTlwTYIjvIYNvzuEdg=" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 In-Reply-To: <5a705514-4b5e-48c2-8984-83e3b62b23b9@y7g2000vbe.googlegroups.com> Cancel-Lock: sha1:NOUeF25P2sUMTE+NtkBsnhEEGhE= Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:9830 On 11/10/2011 7:29 AM, Sean Mitchell wrote: > > Maybe I don't understand what you are proposing. It sounds like you > want a singleton wrapper, into which I stuff my Dog, before I put him > into my Set/Map. Yes, although I'd call that the opposite of a wrapper. It's a Strategy pattern. But there's no additional concurrency issues created by using it. Just use Dog normally. Your Dog class isn't thread safe as you wrote it, so there's no additional issues. If you do require thread safety, protecting the field I added is no different than protecting the other fields in Dog. Do it exactly the same way. (How you do so may vary depending on your needs for the class, so there's rather more options than I'd care to go into. Read a good book on Java Concurrency or read the JLS for ideas.)