Changed behavior of ParameterizedTypeImpl::toString in 1.8.0_171

Rafael Winterhalter rafael.wth at gmail.com
Fri Apr 27 08:12:08 UTC 2018


Hello,

I was wondering if the change in ParameterizedType::toString was intended.
I just found my to break after an update due to a test relying on a certain
value for this method.

My example is:

public abstract class AbstractTypeDescriptionGenericTest {
  public static class NestedSpecifiedTypeVariableType<T> {
    NestedSpecifiedTypeVariableType<String>.Placeholder foo;
    class Placeholder { }
  }
}

which changed the toString value for the generic type of "foo"
(NestedSpecifiedTypeVariableType.class.getDeclaredField("foo").getGenericType().toString())
from:

AbstractTypeDescriptionGenericTest.AbstractTypeDescriptionGenericTest$NestedSpecifiedTypeVariableType<java.lang.String>.Placeholder

to

AbstractTypeDescriptionGenericTest$NestedSpecifiedTypeVariableType<java.lang.String>$Placeholder

I am wondering if the latter is the new expected format. This does
apparently also break Scala on the latest JDK.

Thanks for any information.
Best regards, Rafael


More information about the core-libs-dev mailing list