Code Review Request for 6578042
David Holmes
david.holmes at oracle.com
Mon Nov 14 00:28:18 UTC 2011
On 12/11/2011 10:14 PM, Alan Bateman wrote:
> On 11/11/2011 19:37, Darryl Mocek wrote:
>> Returning null if the value is not a String gives the impression that
>> there was no property with that key when the property may have been
>> there and may in fact have been removed.
> That's a fair point and probably enough to conclude that this approach
> should be dismissed.
>
> The toString approach is inconsistent so I think this brings us back to
> the original suggestion which is to specify that CCE is thrown (as it
> always has) but without side effects (meaning it doesn't remove the
> property). I think this is the best we can do with this broken API.
I tend to agree. If the value is not a string then leave it alone and
throw CCE.
David
-----
> :
>>
>> I would prefer it if Properties didn't allow non-String keys and
>> values at all since they're supposed to be Strings (by API
>> implication) and that Properties not extend Hashtable or extends
>> Hashtable<String, String>, but I digress.
> Properties goes back to JDK1.0 and has a warning in its javadoc for many
> years to discourage inserting keys or values that are not Strings. I'm
> not sure whether we can do much about it now without risking
> compatibility issues.
>
> -Alan.
More information about the core-libs-dev
mailing list