Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8258522

Remove terminally deprecated constructor in java.net.URLDecoder

    XMLWordPrintable

Details

    • CSR
    • Resolution: Approved
    • P4
    • 17
    • 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

    Description

      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;

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: