Иллюстрированный самоучитель по Java

Класс


Properties

Класс '

Properties

расширяет класс

Hashtabie

. Он предназначен в основном для ввода и вывода пар свойств системы и их значений. Пары хранятся в виде строк типа

string

. В классе

Properties

два конструктора:

Properties

() — создает пустой объект;

Properties (Properties default)



— создает объект с заданными парами свойств

default

.

Кроме унаследованных от класса

Hashtabie

методов в классе

Properties

есть еще следующие методы.

Два метода, возвращающих значение ключа-строки в виде строки:

string getProperty (string key)

— возвращает значение по ключу

key

;

String getProperty(String.key, String defaultValue)

— возвращает значение по ключу

key

;

если такого ключа нет, возвращается

defaultValue

.

Метод

setProperty(String key, String value)

добавляет новую пару, если ключа

key

нет, и меняет значение, если ключ

key

есть.

Метод

load(Inputstream in

) загружает свойства из входного потока

in

.

Методы list(PrintStream out) И list (PrintWriter out) выводят свойства в выходной поток out.

Метод

store (OutputStream out, String header)

выводит свойства в выходной поток

out

с заголовком

header

.

Очень простой листинг 6.4 и рис. 6.2 демонстрируют вывод всех системных свойств Java.

Листинг 6.4.

Вывод системных свойств 

class Prop{

  public static void main(String[] args){

  System.getProperties().list(System.out); 

 } 

}

Примеры классов

Vector, Stack, Hashtabie, Properties

показывают удобство классов-коллекций. Поэтому в Java 2 разработана целая иерархия коллекций. Она показана на рис. 6.3. Курсивом 'записаны имена интерфейсов. Пунктирные линии указывают классы, реализующие эти интерфейсы. Все коллекции разбиты; на три группы, описанные в интерфейсах

List, Set

и

Map.

Рис. 6.2.

Системные свойства

Рис. 6.3.

Иерархия классов и интерфейсов-коллекций

Примером реализации интерфейса

List

может служить класс

Vector

, примером реализации интерфейса мар — класс

Hashtabie

.

Коллекции

List

и

set

имеют много общего, поэтому их общие методы объединены и вынесены в суперинтерфейс

Collection

.

Посмотрим, что, по мнению разработчиков Java API, должно содержаться в этих коллекциях.



Содержание раздела