diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java b/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java
index 9c92897..ac082e3 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java
@@ -403,6 +403,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Deprecated
     public static PluralRules newInternal(String description, StandardPluralRanges ranges)
             throws ParseException {
         description = description.trim();
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java b/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
index c817f0b..2203cc4 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
@@ -301,17 +301,18 @@
             this.identifier = identifier;
         }
 
-        /*
+        /**
          * Returns the identifier of the prefix.
          *
-         * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
+         * @internal
+         * @deprecated This API is ICU internal only.
          */
+        @Deprecated
         public String getIdentifier() {
             return identifier;
         }
 
-        /*
+        /**
          * Returns the power of 10 of the prefix. For example, if the prefix is "centi", the power will be -2.
          *
          * @draft ICU 68
@@ -360,6 +361,7 @@
      * @param measureUnitImpl
      * @deprecated Internal API for ICU use only.
      */
+    @Deprecated
     public static MeasureUnit fromMeasureUnitImpl(MeasureUnitImpl measureUnitImpl) {
         measureUnitImpl.serialize();
         String identifier = measureUnitImpl.getIdentifier();
@@ -567,7 +569,7 @@
      * If this is a SINGLE unit, a list of length 1 will be returned.
      *
      * @return An unmodifiable list of single units
-     * @internal ICU 68 Technology Preview
+     * @draft ICU 68
      * @provisional This API might change or be removed in a future release.
      */
     public List<MeasureUnit> splitToSingleUnits() {
