inconsistency between Class.getMethod and Class.getMethods Was: Loading classes with many methods is very expensive
Joel Borggrén-Franck
joel.franck at oracle.com
Wed Oct 29 19:25:04 UTC 2014
Hi Peter,
On 29 Oct 2014, at 18:16, Peter Levart <peter.levart at gmail.com> wrote:
> On 10/29/2014 02:08 PM, Joel Borggrén-Franck wrote:
>> Hi Peter,
>>
>> I’m not entirely convinced this is a bug.
>>
>> The lookup order for getMethod has for a long time been walk up superclasses and return what you find there first without even looking at interfaces. It might be desirable to change that but I’m not sure.
>
> Hi Joel,
>
> It has been for a long time like that as you say, but for a long time Java did not have default methods. It's unexpected for getMethod() to return a method that is not contained in getMethods() result.
>
> Anyway, I have created a bug to track this:
>
> https://bugs.openjdk.java.net/browse/JDK-8062389
Thanks. For the record I don’t necessarily disagree, I just haven’t had time to research this yet. I think this is a subset of https://bugs.openjdk.java.net/browse/JDK-8029459 but might also be worth changing separately in 9. If it is a bug, it might not be worth fixing in 8u.
cheers
/Joel
More information about the core-libs-dev
mailing list