Remove terminally deprecated constructor in java.net.URLDecoder

XMLWordPrintable

    • Type: CSR
    • Resolution: Approved
    • Priority: P4
    • 17
    • Component/s: core-libs
    • None
    • source, binary, behavioral
    • minimal
    • While this is a binary incompatible change, the usage of the constructor is expected to be low and the static methods can be called directly without using a class instance.
    • Java API
    • SE

      Summary

      The constructor of java.net.URLDecoder was terminally deprecated and should be removed.

      Problem

      Default constructor accidentally included in a class. Solution

      Remove the terminally deprecated constructor by making it private.

      Specification

      --- a/src/java.base/share/classes/java/net/URLDecoder.java
      +++ b/src/java.base/share/classes/java/net/URLDecoder.java
      @@ -84,8 +84,7 @@ public class URLDecoder {
           /**
            * Do not call.
            */
      -    @Deprecated(since="16", forRemoval=true)
      -    public URLDecoder() {}
      +    private URLDecoder() {}
       
           // The platform default encoding
           static String dfltEncName = URLEncoder.dfltEncName;
      

            Assignee:
            Joe Darcy
            Reporter:
            Joe Darcy
            Brian Burkhalter, Stuart Marks
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: