В чем разница между / * … * / и / ** … * /

Я заметил, что Eclipse печатает разные форматы комментариев:

/* Eclipse prints it in green */ 

Или если вы пишете:

 /** Eclipse prints it in blue */ 

В чем разница между этими двумя комментариями?

 /* * It is multi-line comment in Java * */ /** * It is a Javadoc. Can be found above methods and Class definitions. * * */ 

Вот выдержка из Википедии о Джавадоке:

Комментарий Javadoc заносится из кода стандартными многострочными тегами комментариев / * и * /. Открывающий тег (называемый разделителем начала-комментария) имеет дополнительную звездочку, как в / **.

 The first paragraph is a description of the method documented. Following the description are a varying number of descriptive tags, signifying: The parameters of the method (@param) What the method returns (@return) Any exceptions the method may throw (@throws) Other less-common tags such as @see (a "see also" tag) 

Класс Javadoc Пример:

 /** * @author Firstname Lastname <address @ example.com> * @version 1.6 (current version number of program) * @since 2010-03-31 (the version of the package this class was first added to) */ public class Test { // class body } 

Уровень метода Javadoc Пример:

 /** * Short one line description. * <p> * Longer description. If there were any, it would be * here. * <p> * And even more explanations to follow in consecutive * paragraphs separated by HTML paragraph breaks. * * @param variable Description text text text. * @return Description text text text. */ public int methodName (...) { // method body with a return statement } 
 /* ... */ 

Это просто комментарий.

 /** ... */ 

Это javadoc, который затем может быть преобразован в хорошую HTML-документацию с помощью инструмента, который, как ни странно, javadoc . В этом инструменте рассматривается сам комментарий javadoc, объявление класса / интерфейса / метода и любых других реализаций / контрактов супер / подклассов (например, при создании «указанных» и «переопределяет» информацию о методах). Самым примечательным примером этого является сам документ Java SE API .

Этот комментарий к документации включает в себя собственную разметку, например @see Bar . Он может определять программные соображения, такие как параметры метода и их описания, тип возвращаемого метода, исключения, объявленные методом броска, и обстоятельства, при которых они будут выбрасываться, и другую информацию.

Например, ArrayList#toArray() документируется как

public <T> T[] toArray(T[] a)

Возвращает массив, содержащий все элементы в этом списке в правильной последовательности (от первого до последнего элемента); Тип выполнения возвращаемого массива – тип указанного массива. Если список соответствует указанному массиву, он возвращается в нем. В противном случае новому массиву присваивается тип среды выполнения указанного массива и размер этого списка.

Если список соответствует указанному массиву с запасной комнатой (т. Е. Массив имеет больше элементов, чем список), элемент в массиве сразу же после окончания коллекции устанавливается в нуль. (Это полезно при определении длины списка только в том случае, если вызывающий абонент знает, что список не содержит никаких нулевых элементов.)

Указано:
ToArray в интерфейсе Collection
Указано:
ToArray в интерфейсе Список
Заменяет:
ToArray в классе AbstractCollection
Параметры типа:
T – тип времени выполнения массива, который должен содержать коллекцию
Параметры:
a – массив, в который должны храниться элементы списка, если он достаточно большой; В противном случае для этой цели выделяется новый массив того же типа времени выполнения.
Возвращает:
Массив, содержащий элементы списка
Броски:
ArrayStoreException – если тип среды выполнения указанного массива не является супертипом типа времени выполнения каждого элемента в этом списке
NullPointerException – если указанный массив равен нулю

из

  /** * Returns an array containing all of the elements in this list in proper * sequence (from first to last element); the runtime type of the returned * array is that of the specified array. If the list fits in the * specified array, it is returned therein. Otherwise, a new array is * allocated with the runtime type of the specified array and the size of * this list. * * <p>If the list fits in the specified array with room to spare * (ie, the array has more elements than the list), the element in * the array immediately following the end of the collection is set to * <tt>null</tt>. (This is useful in determining the length of the * list <i>only</i> if the caller knows that the list does not contain * any null elements.) * * @param a the array into which the elements of the list are to * be stored, if it is big enough; otherwise, a new array of the * same runtime type is allocated for this purpose. * @return an array containing the elements of the list * @throws ArrayStoreException if the runtime type of the specified array * is not a supertype of the runtime type of every element in * this list * @throws NullPointerException if the specified array is null */ 

Это три вида комментариев в java:

Одиночный комментарий

 // This is a single line comment 

Многострочный комментарий

 /* This is a multi-line comment */ 

Комментарий к документации

 /** * This is a <b>documentation comment</b> */ 

Компилятор проигнорирует все из них, но инструмент javadoc будет использовать комментарии doc для генерации javadoc, вы можете использовать там HTML форматирование. Вы также можете использовать тег типа @see или @author

Intereting Posts
Расширение поля API графиков Facebook в приложении для Android Recyclerview, охваченный BottomNavigationView Как обрабатывать несколько таймеров обратного отсчета в ListView? Does Environment.getExternalStorageDirectory () возвращает полезную папку данных, когда не установлена ​​SD-карта? Android locationManager requestLocationUpdates не работает Android – Что происходит, когда устройство разблокировано? Не удалось запустить службу DayDream в моем обычном приложении для Android. Сплит-система Android Css3 transform rotate3d с перспективой, не работающей на Android Ошибка GoogleJsonResponse: 500 Внутренняя ошибка сервера Как автоматически воспроизводить список воспроизведения в приложении Spotify Android Как запустить connectbot из моей собственной деятельности с помощью намерения Загрузить картинку / фото / изображение facebook (android) Android: RecyclerView внутри ScrollView (или параллакс) Как найти расстояние перемещения с помощью датчика акселерометра в Android-смартфоне?