Получение системных свойств

 

Для получения системных свойств (таких, например, как имя пользователя, версия виртуальной java-машины или разделителя между папками для конкретной операционной системы) используется класс Properties из пространства имен java.util и метод getProperties из System. Вот пример использования:

public class Test1 {

public static void main(String[] args) {

// Получение всех свойств.

java.util.Properties properties = System.getProperties();

// Вывод отдельного свойства по имени.

String s = properties.getProperty("user.name");

System.out.print(s);

// Вывод всех свойств.

properties.list(System.out);

 

}

}

 

Обратите внимание, что мы можем получить как значение отдельного свойства (по его имени), так и сразу все свойства.

 

Перечисления (enum)

 

Перечисление - это определенный программистом тип данных, значения которого ограничиваются некоторым набором. Этот набор может содержать, например, названия дней недели. Или состояние некоторого объекта (включен, выключен). Или тип доступа к файлу (только для чтения, полный доступ или отсутствие доступа, например).

 

Вот пример объявления перечисления:

public enum MyColors {

Red,

Yellow,

Pink;

}

 

А вот так его можно использовать:

public class MainClass {

public static void main(String[] args) {

// Объявление перечисления.

MyColors color = MyColors.Yellow;

 

// Вывод перечисления на экран.

System.out.println(color.toString());

 

// Использование перечисления в switch

switch(color){

case Pink:

System.out.println("Выбран розовый");

break;

case Red:

System.out.println("Выбран красый");

break;

case Yellow:

System.out.println("Выбран желтый");

break;

}

 

// Получение номера элемента перечисления.

int n = color.ordinal();

System.out.println(n);

 

// Получение элемента перечисления по имени.

color = MyColors.valueOf("Red");

System.out.println(color.toString());

 

// Получение всех значений перечисления

MyColors[] values = MyColors.values();

for(int i = 0; i < values.length; i++){

System.out.println(values[i]);

}

}

}

 

Обратите внимание, что для инициализации переменной перечисляемого типа мы используем синтаксис типа MyColors.Yellow (имя перечисления, имя значения перечисления), а в конструкции switch мы используем только имя значения перечисления (например, Red).

 

Также обратите внимание на ряд полезных методов: values - позволяет получить все элементы перечисления (статический), valueOf - возвращающий элемент перечисления по строке (статический), ordinal - позволяет получить номер в перечислении определенного значения.