diff --git a/src/main/java/org/apache/commons/fileupload/ParameterParser.java b/src/main/java/org/apache/commons/fileupload/ParameterParser.java
index 3db521a..30676e8 100644
--- a/src/main/java/org/apache/commons/fileupload/ParameterParser.java
+++ b/src/main/java/org/apache/commons/fileupload/ParameterParser.java
@@ -78,8 +78,8 @@
     /**
      * Are there any characters left to parse?
      *
-     * @return <tt>true</tt> if there are unparsed characters,
-     *         <tt>false</tt> otherwise.
+     * @return {@code true} if there are unparsed characters,
+     *         {@code false} otherwise.
      */
     private boolean hasChar() {
         return this.pos < this.len;
@@ -90,8 +90,8 @@
      * leading and trailing blanks as well as enclosing quotation marks,
      * when necessary.
      *
-     * @param quoted <tt>true</tt> if quotation marks are expected,
-     *               <tt>false</tt> otherwise.
+     * @param quoted {@code true} if quotation marks are expected,
+     *               {@code false} otherwise.
      * @return the token
      */
     private String getToken(boolean quoted) {
@@ -124,8 +124,8 @@
      * @param ch the character to test for presense in the array of characters
      * @param charray the array of characters to test against
      *
-     * @return <tt>true</tt> if the character is present in the array of
-     *   characters, <tt>false</tt> otherwise.
+     * @return {@code true} if the character is present in the array of
+     *   characters, {@code false} otherwise.
      */
     private boolean isOneOf(char ch, final char[] charray) {
         boolean result = false;
@@ -195,12 +195,12 @@
     }
 
     /**
-     * Returns <tt>true</tt> if parameter names are to be converted to lower
+     * Returns {@code true} if parameter names are to be converted to lower
      * case when name/value pairs are parsed.
      *
-     * @return <tt>true</tt> if parameter names are to be
+     * @return {@code true} if parameter names are to be
      * converted to lower case when name/value pairs are parsed.
-     * Otherwise returns <tt>false</tt>
+     * Otherwise returns {@code false}
      */
     public boolean isLowerCaseNames() {
         return this.lowerCaseNames;
@@ -210,9 +210,9 @@
      * Sets the flag if parameter names are to be converted to lower case when
      * name/value pairs are parsed.
      *
-     * @param b <tt>true</tt> if parameter names are to be
+     * @param b {@code true} if parameter names are to be
      * converted to lower case when name/value pairs are parsed.
-     * <tt>false</tt> otherwise.
+     * {@code false} otherwise.
      */
     public void setLowerCaseNames(boolean b) {
         this.lowerCaseNames = b;
