Перечисление NestingKind
- java.lang.Object
-
- java.lang.Enum<NestingKind>
-
- javax.lang.model.element.NestingKind
- Все реализованные интерфейсы:
- Serializable, Comparable<NestingKind>
public enum NestingKind extends Enum<NestingKind>
Вид вложенности элемента типа. Элементы типа бывают четырёх видов: верхнего уровня, члена, локального и анонимного. Вид вложенности — это нестандартный термин, используемый здесь для обозначения этой классификации.
Обратите внимание, что в будущих версиях платформы могут быть добавлены дополнительные виды вложенности.
Пример: Классы ниже аннотированы своим видом вложенности.
import java.lang.annotation.*;
import static java.lang.annotation.RetentionPolicy.*;
import javax.lang.model.element.*;
import static javax.lang.model.element.NestingKind.*;
@Nesting(TOP_LEVEL)
public class NestingExamples {
@Nesting(MEMBER)
static class MemberClass1{}
@Nesting(MEMBER)
class MemberClass2{}
public static void main(String... argv) {
@Nesting(LOCAL)
class LocalClass{};
Class<?>[] classes = {
NestingExamples.class,
MemberClass1.class,
MemberClass2.class,
LocalClass.class
};
for(Class<?> clazz : classes) {
System.out.format("%s is %s%n",
clazz.getName(),
clazz.getAnnotation(Nesting.class).value());
}
}
}
@Retention(RUNTIME)
@interface Nesting {
NestingKind value();
}
- С тех пор:
- 1.6
Постоянные значения перечисления
| Постоянное значение перечисления и описание |
|---|
ANONYMOUS Тип без имени. |
LOCAL Именованный тип, объявленный внутри конструкции, отличной от типа. |
MEMBER Тип, являющийся именованным членом другого типа. |
TOP_LEVEL Тип верхнего уровня, не содержащийся внутри другого типа. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
isNested() Соответствует ли эта константа элементу вложенного типа? Элемент вложенного типа — это любой, который не является типом верхнего уровня. |
static NestingKind |
valueOf(String name) Возвращает константу перечисления этого типа с указанным именем. |
static NestingKind[] |
values() Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. |
Методы, унаследованные от класса java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf Методы, унаследованные от класса java.lang.Object
getClass, notify, notifyAll, wait, wait, wait Постоянные значения перечисления
TOP_LEVEL
public static final NestingKind TOP_LEVEL
Тип верхнего уровня, не содержащийся внутри другого типа.
MEMBER
public static final NestingKind MEMBER
Тип, являющийся именованным членом другого типа.
LOCAL
public static final NestingKind LOCAL
Именованный тип, объявленный внутри конструкции, отличной от типа.
ANONYMOUS
public static final NestingKind ANONYMOUS
Тип без имени.
Методы
values
public static NestingKind[] values()
Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. Этот метод можно использовать для итерации по константам следующим образом:
for (NestingKind c : NestingKind.values()) System.out.println(c);
- Возвращает:
- массив, содержащий константы этого типа перечисления в порядке их объявления
valueOf
public static NestingKind valueOf(String name)
Возвращает константу перечисления этого типа с указанным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом типе. (Дополнительные пробелы не допускаются.)
- Параметры:
-
name- имя константы перечисления, которое нужно вернуть. - Возвращает:
- константу перечисления с указанным именем
- Исключение:
-
IllegalArgumentException- если в этом типе перечисления нет константы с указанным именем -
NullPointerException- если аргумент равен null
isNested
public boolean isNested()
Соответствует ли эта константа элементу вложенного типа? Элемент вложенного типа — это любой, который не является типом верхнего уровня. Элемент внутреннего типа — это любой элемент вложенного типа, который не является статическим.
- Возвращает:
- является ли константа вложенной
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.