RFR: (jaxp) 8003261 : static field is public but not final

David Holmes david.holmes at oracle.com
Wed Dec 19 03:08:39 UTC 2012


On 19/12/2012 12:21 PM, Joe Wang wrote:
> On 12/18/2012 3:43 PM, David Holmes wrote:
>> On 19/12/2012 3:49 AM, Tom Hawtin wrote:
>>> Not that it's particularly important, but it's /possible/ clients are
>>> relying on the non-compile time constant nature of this field causing it
>>> not to be inlined into client class files, rather than the ability to
>>> switch the version string. So it may be a good idea to add the final,
>>> but make it a non-compile time constant. We can also remove the
>>> duplication.
>>
>> I think that is an excellent point Tom. We should avoid turning the
>> static field into a compile-time constant.
>>
>> And get rid of the unnecessary fImmutableVersion which everyone keeps
>> overlooking.
>
> With the following change, at least there's no duplicate literal version
> strings anymore. Or did you mean we should get rid of
> fImmutableVersionand have getVresion return a liberal string?

I did mean to get rid of the fImmutableVersion field. But it's no big deal.

David


> Joe
>
>>
>> David
>>
>>>
>>> public static final String fVersion = getVersion();
>>>
>>> Tom
>>>
>>> On 18/12/2012 08:47, Joe Wang wrote:
>>>> Hi,
>>>>
>>>> This is the 2nd of the three [findbug] issues. The field fVersion is
>>>> simply made final.
>>>>
>>>> webrev:
>>>> http://cr.openjdk.java.net/~joehw/jdk8/8003261/webrev/
>>>>
>>>> Test:
>>>> No new test needed.
>>>>
>>>> Thanks,
>>>> Joe
>>>



More information about the core-libs-dev mailing list