Path: csiph.com!aioe.org!.POSTED!not-for-mail From: =?UTF-8?Q?Arne_Vajh=c3=b8j?= Newsgroups: comp.lang.java.programmer Subject: Re: Type conversions with the empty string Date: Mon, 13 Feb 2017 12:46:33 -0500 Organization: Aioe.org NNTP Server Lines: 23 Message-ID: References: <15m3gy8mef7tv$.93ppj4f0t83$.dlg@40tude.net> NNTP-Posting-Host: PBuS014lhzVyHjLbXmo/ZQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.java.programmer:36252 On 2/7/2017 3:26 AM, Joerg Meier wrote: > On Mon, 30 Jan 2017 10:08:30 +0100, Robert Klemme wrote: >> - Although it is of course perfectly legal to implement a class called >> "String" in any other package someone who does that would have to have >> very good reasons to do it - especially since it makes any reference to >> java.lang.String extremely tedious. > > You misunderstood. You can literally have a class named java.lang.String, > and if it is early enough on the class path, it can override "the" > java.lang.String. Due to j.l.String being final, this is (short of evil > Reflection magic) the only way to add or change behaviour of the String > class that still works with classes accepting only String as a parameter. > > Now, clearly, that is not a GOOD programming practice, but not everyone > writes code for noble reasons. This line of thinking is more about attack > vectors and less about accidental mistakes. I would think/hope that if someone already have enough control to do that, then security is totally compromised. Arne