On 24 November 2010 14:54, Stuart McCulloch <[email protected]> wrote:
> On 24 November 2010 14:47, Alasdair Nottingham <[email protected]> wrote: > >> I find !!! is obviously odd where !!!!! and !!!!!!! are not. I could >> go for == false, but I've always thought that makes it look as if you >> don't realize Java has a boolean data type. > > I guess you could always use "false == ..." to look more like a C programmer ;) > I also expect it is more >> byte code. > > > sigh, save us from premature optimization ;) > > you'll be happy to know that both !, !!!, and == false compile down to the > same single bytecode operation > > On 24 November 2010 14:31, David Bosschaert <[email protected]> >> wrote: >> > Ok - so at least no magic stuff happening that I wasn't aware of :) >> > >> > One could argue that !!!!! is even more visible or !!!!!!! or !!!!!!!! >> > - hold on? did I forget one '!' ? ;) >> > If you're going for explicit, Stuart's suggestion of == false is >> > probably a little safer... >> > >> > Cheers, >> > >> > David >> > >> > On 24 November 2010 14:10, Timothy Ward <[email protected]> >> wrote: >> >> >> >> You'll find quite a few of these littered around the Aries codebase. >> It's a bad habit I picked up from Alasdair ;) >> >> >> >> I actually like it, it's nearly as concise as !, but much easier to >> spot and obviously different from !!!! or !! >> >> >> >> Regards, >> >> >> >> Tim >> >> >> >> ---------------------------------------- >> >>> From: [email protected] >> >>> Subject: Re: Why !!! in "if(!!!clazz.isInterface())" ? >> >>> Date: Wed, 24 Nov 2010 14:01:37 +0000 >> >>> To: [email protected] >> >>> >> >>> Hi, >> >>> >> >>> It is equivalent to if(!clazz.isInterface()), but in my view is more >> visible. The compiler even optimises it to a single negation. >> >>> >> >>> I find it really helps as I often mis a single ! when reading code. >> >>> >> >>> Alasdair >> >>> >> >>> On 24 Nov 2010, at 13:18, David Bosschaert wrote: >> >>> >> >>> > Hi all, >> >>> > >> >>> > While looking around in some of the Aries codebase I found the >> >>> > following line of code [1]: >> >>> > >> >>> > if(!!!clazz.isInterface()) { //... >> >>> > >> >>> > Isn't this equivalent to if(!clazz.isInterface()) ? Or is there some >> >>> > special magic happening here that I haven't seen before? >> >>> > >> >>> > Just curious... >> >>> > >> >>> > Cheers, >> >>> > >> >>> > David >> >>> > >> >>> > [1] >> http://svn.apache.org/repos/asf/incubator/aries/trunk/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AsmProxyManager.java >> >> >> > >> >> >> >> -- >> Alasdair Nottingham >> [email protected] >> > > > > -- > Cheers, Stuart > -- Cheers, Stuart
