Search code examples
javaconstantsjavadoc

Javadoc {@value} not working for Constants


I am trying to apply Javadoc to a constant variable.

The code:

private final String playerName;

/**
 * The value of MAX_PLAYER_HEALTH is {@value} 
 */
 
private static final Integer MAX_PLAYER_HEALTH = 200;

/**
 * The value of DEFAULT_PLAYER_LIVES {@value}
 */
private static final Integer DEFAULT_PLAYER_LIVES = 3;

private Integer health = MAX_PLAYER_HEALTH;
private int lives = DEFAULT_PLAYER_LIVES;

With this once I generate the Javadoc I get an error:

C:\Users\AmirS\OneDrive\Documents\NetBeansProjects\TheTower\src\PlayerSingleton\PlayerSingleton.java:22: error: {@value} not allowed here
     * The value of DEFAULT_PLAYER_LIVES {@value}
C:\Users\AmirS\OneDrive\Documents\NetBeansProjects\TheTower\src\PlayerSingleton\PlayerSingleton.java:18: error: {@value} not allowed here
     * The value of MAX_PLAYER_HEALTH is {@value}

I am following the reference guide on Oracle. What is it that I am doing wrong?

UPDATED CODE: Changed Integer to int. {@value} can only be used with primitive types and not wrappers such as Integer.


Solution

  • The problem was using Integer instead of int in your constant variable.