Библиотека классов Java
Класс Object
Класс Object – вершина
иерархии классов библиотеки Java
•

Object clone() – создает н...
Библиотека классов Java
Переопределение equals() и
hashCode()
1. При переопределении метода equals() надо соблюдать
следую...
Библиотека классов Java
Пример переопределения
equals() и hashCode()
public final class PhoneNumber {
private final short ...
Библиотека классов Java
Метод finalize()
Метод finalize() не переопределять!!!
Причины:
1)Невозможно предсказать, когда он...
Библиотека классов Java
Классы оболочки

Для чего необходимы оболочки:
1. Использование в методах, сигнатура которых требу...
Библиотека классов Java
Классы оболочки
Переход от простого типа к классу-оболочке
(boxing) и обратный переход (unboxing) ...
Библиотека классов Java
Классы оболочки
byte byteValue()

short shortValue()

int intValue()

long longValue()

float floa...
Библиотека классов Java
Классы оболочки
Метод

Описание

static Integer decode(String s)

String –> Integer (может принима...
Библиотека классов Java
Класс Math
Класс Math содержит 2 статические константы:
Math.E, Math.PI
и статические методы для в...
Библиотека классов Java
Класс Math
При необходимости можно импортировать
статические константы и методы с помощью
директив...
Библиотека классов Java
Класс Random
import java.util.*;
…
Random r = new Random();
int i = r.nextInt(100);

11
Библиотека классов Java
Класс String

Два способа создания объекта String:
1) String greeting = "Hello world!";
2) char[ ]...
Библиотека классов Java
Класс String
Конструкторы класса String
String()
String(String source)
String(StringBuffer buffer)...
Библиотека классов Java
Класс String
Длина строки:
String s = "Dot saw I was Tod";
int len = s.length();
Конкатенация:
Str...
Библиотека классов Java
Класс String
Форматированный вывод:
public PrintStream format(String format, Object... args)
publi...
Библиотека классов Java
Класс String
Метод

Описание

char charAt(int index)

Возвращает символ строки с индексом index.

...
Библиотека классов Java
Класс String
Метод

Описание

int compareTo (String str)
int compareToIgnoreCase
(String str)

Воз...
Библиотека классов Java
Класс String
Метод

Описание

boolean regionMatches (int
toffset, String other, int ooffset,
int l...
Библиотека классов Java
Класс String
Метод

Описание

String substring (int
beginIndex, int endIndex)

Возвращает подстрок...
Библиотека классов Java
Класс StringBuffer
StringBuffer – это строковый буфер переменной длины.
Создать объект класса Stri...
Библиотека классов Java
Класс StringBuffer
Увеличение емкости буфера:
ensureCapacity(int minCapacity)
Установка емкости бу...
Библиотека классов Java
Класс StringBuffer
Метод

Описание

append (<type> elem)

Добавление аргумента к буферу

append (S...
Библиотека классов Java
Класс StringBuffer
Метод

Описание

delete(int begin, int end)

Удаление подстроки

deleteCharAt(i...
Библиотека классов Java
Класс StringTokenizer
Выполняет синтаксический разбор (парсинг)
строки.
Конструкторы:
StringTokeni...
Библиотека классов Java
Класс StringTokenizer
String s = “Строка, предназначенная для разбора”;
StringTokenizer st = new S...
Библиотека классов Java
Класс Runtime
Класс Runtime инкапсулирует JVM.
Метод

Описание

static Runtime getRuntime()

получ...
Библиотека классов Java
Класс Runtime
class MemoryDemo
{public static void main(String args[ ])
{Runtime r = Runtime.getRu...
Библиотека классов Java
Класс Process
Класс Process инкапсулирует процесс.
void destroy()
Завершает процесс.
int waitFor()...
Библиотека классов Java
Класс Process
class ExecDemo
{public static void main(String args[ ])
{Runtime r = Runtime.getRunt...
Библиотека классов Java
Класс System
Класс System выполняет функции, аналогичные
классу Runtime, т.е. взаимодействие с сис...
Библиотека классов Java
Класс System
Для любой среды Java 2 доступны переменные
среды, приведенные в табл. Часть из этих
п...
Библиотека классов Java
Класс System
Имя
java.version
java.vendor
java.vendor.url
java.class.version
java.class.path
java....
Библиотека классов Java
Класс System
//отображаем путь к текущему каталогу пользователя
System.out.println(System.getPrope...
Upcoming SlideShare
Loading in …5
×

9. java lecture library

227
-1

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
227
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

9. java lecture library

  1. 1. Библиотека классов Java Класс Object Класс Object – вершина иерархии классов библиотеки Java • Object clone() – создает новый объект, являющийся копией вызывающего • boolean equals(Object object) – определяет, является ли один объект равным другому • int hashCode() – вычисляет хэш-код объекта • void finalize() – завершающие действия перед вызовом gc • String toString() – возвращает строку, содержащую описание вызывающего объекта. Этот метод вызывается автоматически, когда объект выводится методом print() или println(). 1
  2. 2. Библиотека классов Java Переопределение equals() и hashCode() 1. При переопределении метода equals() надо соблюдать следующие правила (general contract): - obj.equals(null) == false - obj.equals(obj) == true - если obj1.equals(obj2) == true, то obj2.equals(obj1) == true - если ob1.equals(obj2) == true & ob2.equals(obj3) == true, то obj1.equals(obj3) == true 2. Если класс переопределяет метод equals(), он должен также переопределять hashCode() 2
  3. 3. Библиотека классов Java Пример переопределения equals() и hashCode() public final class PhoneNumber { private final short areaCode; public int hashCode() { int result = 17; private final short exchange; result = 31 * result + areaCode; private final short extension; result = 31 * result + prefix; public boolean equals(Object o) { result = 31 * result + lineNumber; if (o==this) return true; return result; if (!(o instanceof PhoneNumber)) } return false; PhoneNumber pn = (PhoneNumber)o; } return pn.extensions == extension && pn.exchange == exchange && pn.areaCode == areaCode; } 3
  4. 4. Библиотека классов Java Метод finalize() Метод finalize() не переопределять!!! Причины: 1)Невозможно предсказать, когда он будет вызван 2)Внутри finalize() не обрабатываются исключения 3)Если в finalize() есть «медленный» код, то он будет препятствовать своевременному освобождению памяти сборщиком мусора -> OutOfMemory 4
  5. 5. Библиотека классов Java Классы оболочки Для чего необходимы оболочки: 1. Использование в методах, сигнатура которых требует объекта 2. Использование специальных констант, имеющихся в классахоболочках (MIN_VALUE, MAX_VALUE) 3. Использование специальных методов преобразования типов (например, преобразование в строки и из строк) 5
  6. 6. Библиотека классов Java Классы оболочки Переход от простого типа к классу-оболочке (boxing) и обратный переход (unboxing) часто выполняется компилятором автоматически Integer x, y; Integer x, y; x = new Integer(12); y = new Integer(15); x = 12; auto-boxing y = 15; System.out.println( System.out.println(x+y); auto-unboxing x.intValue()+y.intValue()); 6
  7. 7. Библиотека классов Java Классы оболочки byte byteValue() short shortValue() int intValue() long longValue() float floatValue() double doubleValue() int compareTo(Byte anotherByte) int compareTo(Double anotherDouble) int compareTo(Float anotherFloat) int compareTo(Integer anotherInteger) int compareTo(Long anotherLong) int compareTo(Short anotherShort) 7
  8. 8. Библиотека классов Java Классы оболочки Метод Описание static Integer decode(String s) String –> Integer (может принимать строковое представление в 10-й, 8-й, 16-й системах счисления) static int parseInt(String s) String -> int (только десятичный) static int parseInt(String s, int radix) String -> int (radix = 2, 8, 10, 16) String toString() Integer -> String static String toString(int i) int -> String static Integer valueOf(int i) int -> Integer static Integer valueOf(String s) String -> Integer static Integer valueOf(String s, int radix) String -> Integer (radix = 2, 8, 10, 16) 8
  9. 9. Библиотека классов Java Класс Math Класс Math содержит 2 статические константы: Math.E, Math.PI и статические методы для выполнения математических функций (sin, cos, max, min, ceil, floor, exp, log, pow и др.) double x = 11.635; System.out.println("The value of e is” + Math.E); System.out.println("exp” + x + “is” + Math.exp(x)); System.out.println("log” + x + “is” + Math.log(x)); 9
  10. 10. Библиотека классов Java Класс Math При необходимости можно импортировать статические константы и методы с помощью директивы import static import static java.lang.Math.*; double x = 11.635; System.out.println("The value of e is” + E); System.out.println("exp” + x + “is” + exp(x)); System.out.println("log” + x + “is” + log(x)); 10
  11. 11. Библиотека классов Java Класс Random import java.util.*; … Random r = new Random(); int i = r.nextInt(100); 11
  12. 12. Библиотека классов Java Класс String Два способа создания объекта String: 1) String greeting = "Hello world!"; 2) char[ ] helloArray = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘ ’, ‘w’, ‘o’, ‘r’, ‘l’, ‘d’,’!’ }; String greeting = new String(helloArray); System.out.println(greeting); Внимание! Класс String работает с неизменяемыми строками 12
  13. 13. Библиотека классов Java Класс String Конструкторы класса String String() String(String source) String(StringBuffer buffer) String(char charArray[ ]) String(char charArray[ ], int offset, int count) String(byte byteArray[ ]) String(byte byteArray[ ], int offset, int count) String(byte byteArray[ ], String enc) String(byte byteArray[ ], int offset, int count, String enc) 13
  14. 14. Библиотека классов Java Класс String Длина строки: String s = "Dot saw I was Tod"; int len = s.length(); Конкатенация: String s3 = s1 + s2; String s3 = s1.concat(s2); “2” + 2 + 2 = 222 2 + 2 + “2” = 42 “2” + (2 + 2) = 24 14
  15. 15. Библиотека классов Java Класс String Форматированный вывод: public PrintStream format(String format, Object... args) public PrintStream format(Locale l, String format, Object... args) public PrintStream printf(String format, Object... args) public PrintStream printf(Locale l, String format, Object... args) System.out.printf("The value of the float variable is %f, while the value of the " + “integer variable is %d, and the string is %s", floatVar, intVar, stringVar); 15
  16. 16. Библиотека классов Java Класс String Метод Описание char charAt(int index) Возвращает символ строки с индексом index. void getChars(int srcBegin, int srcEnd, char[ ] dest, int destBegin) Включает в массив символов dest[ ], начиная с индекса dstBegin, часть строки от индекса srcBegin вкл. до индекса srcEnd искл. byte[ ] getBytes() Содержимое строки записывается в массив байтов. char[ ] toCharArray() Преобразует строку в массив символов типа char. boolean equals (Object obj) boolean equalsIgnoreCase (String s) Возвращают true, если аргумент obj не равен null, является объектом класса String, и строка, содержащаяся в нем, полностью идентична данной строке с учетом (без учета) регистра символов. 16
  17. 17. Библиотека классов Java Класс String Метод Описание int compareTo (String str) int compareToIgnoreCase (String str) Возвращают целое число типа int, вычисленное по следующим правилам: 1. Сравниваются символы данной строки и строки str с одинаковыми индексами, пока не встретятся различные символы (с учетом регистра) или одна из строк не закончится. 2. Пусть разные символы встретились в позиции k. Тогда метод возвращает значение this.charAt(k)-str.charAt(k) 3. Пусть символы в строках были одинаковыми, пока не за-кончилась одна из строк. Тогда метод вернет значение: this.length()-str.length() 4. Если строки совпадают, метод вернет 0. 17
  18. 18. Библиотека классов Java Класс String Метод Описание boolean regionMatches (int toffset, String other, int ooffset, int len) Сравнивает подстроку данной строки с подстрокой той же длины len строки, заданной аргументом str. Сравнение начинается с позиции toffset данной строки и c позиции ooffset строки, заданной аргументом str. Метод возвращает false, если в сравниваемых участках строк встретилась хотя бы одна пара несовпадающих (с учетом регистра) символов. boolean startsWith (String str) boolean startsWith (String str, int toffset) Возвращает true, если данная строка начинается с подстроки str (начиная с позиции toffset) boolean endsWith (String suffix) Возвращает true, если данная строка заканчивается подстрокой str 18
  19. 19. Библиотека классов Java Класс String Метод Описание String substring (int beginIndex, int endIndex) Возвращает подстроку данной строки, начиная с индекса beginIndex до индекса endIndex. String replace (char oldChar, char newChar) Заменяет в данной строке все вхождения символа oldChar символом newChar String toUpperCase() Преобразует все символы строки к верхнему регистру. String toLowerCase() Преобразует все символы строки к нижнему регистру. String trim() Удаляет пробельные символы в начале и конце строки static String valueOf (<type> b) Преобразует аргумент в его строковое представление. 19
  20. 20. Библиотека классов Java Класс StringBuffer StringBuffer – это строковый буфер переменной длины. Создать объект класса StringBuffer можно только с помощью конструкторов: StringBuffer() - пустой строковый буфер с емкостью 16 символов. StringBuffer(int length) - пустой строковой буфер с емкостью length StringBuffer(String str) - строковый буфер емкостью str.length() +16, содержащий строку str. Если строковый буфер начинает переполняться, его емкость автоматически увеличивается. 20
  21. 21. Библиотека классов Java Класс StringBuffer Увеличение емкости буфера: ensureCapacity(int minCapacity) Установка емкости буфера: setLength(int newLength) Длина строки в буфере: length() Емкость буфера: capacity() 21
  22. 22. Библиотека классов Java Класс StringBuffer Метод Описание append (<type> elem) Добавление аргумента к буферу append (String str) Добавление строки к буферу append (Object obj) Добавление объекта к буферу (выполняется метод toString() ) insert (int ind, <type> elem) Вставка элемента в буфер в позицию ind insert (int ind, String str) Вставка строки в буфер в позицию ind insert (int ind, Object obj) Вставка объекта в буфер в позицию ind 22
  23. 23. Библиотека классов Java Класс StringBuffer Метод Описание delete(int begin, int end) Удаление подстроки deleteCharAt(int ind) Удаление символа replace(int begin, int end, String str) Замена подстроки reverse() Обращение строки 23
  24. 24. Библиотека классов Java Класс StringTokenizer Выполняет синтаксический разбор (парсинг) строки. Конструкторы: StringTokenizer(String str) StringTokenizer(String str, String delim) Методы: String nextToken() boolean hasMoreTokens() int countTokens() 24
  25. 25. Библиотека классов Java Класс StringTokenizer String s = “Строка, предназначенная для разбора”; StringTokenizer st = new StringTokenizer(s,” tnr,.”); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } 25
  26. 26. Библиотека классов Java Класс Runtime Класс Runtime инкапсулирует JVM. Метод Описание static Runtime getRuntime() получить ссылку на текущий Runtime-объект Process exec(String progname) Передает строку progname командному процессору. Возвращает объект типа Process. void exit(int exitCode) Останавливает выполнение JVM. Возвращает код завершения родительскому процессу (0 – нормальное завершение). long freeMemory() Возвращает приблизительное количество свободной памяти (в байтах), доступное JVM. void gc() Инициирует процесс сборки мусора long totalMemory() Возвращает общее количество памяти (в байтах), доступное JVM. 26
  27. 27. Библиотека классов Java Класс Runtime class MemoryDemo {public static void main(String args[ ]) {Runtime r = Runtime.getRuntime(); long mem1, mem2; System.out.println(“Полный объем памяти: “ + r.totalMemory()); System.out.println(“Свободная память: “ + r.freeMemory()); { Integer massiv[ ] = new Integer[1000]; System.out.println(“Свободная память: “ + r.freeMemory()); } r.gc(); System.out.println(“Свободная память после gc:” + r.freeMemory()); 27
  28. 28. Библиотека классов Java Класс Process Класс Process инкапсулирует процесс. void destroy() Завершает процесс. int waitFor() Приостанавливает выполнение текущего потока до завершения вызывающего процесса 28
  29. 29. Библиотека классов Java Класс Process class ExecDemo {public static void main(String args[ ]) {Runtime r = Runtime.getRuntime(); Process p = null; try {p = r.ехес("notepad"); p.waitFor () ; } catch (Exception e) {System.out.println("Ошибка выполнения notepad.");} System.out.println("Notepad завершился " + p.exitValue()); } } 29
  30. 30. Библиотека классов Java Класс System Класс System выполняет функции, аналогичные классу Runtime, т.е. взаимодействие с системой в ходе выполнения программы. В этом классе продублировано большинство методов класса Runtime (loadLibrary(), exit(), gc()) но, в отличие от Runtime, в классе System эти методы являются статическими. 30
  31. 31. Библиотека классов Java Класс System Для любой среды Java 2 доступны переменные среды, приведенные в табл. Часть из этих переменных в целях безопасности доступны только для приложений (не для апплетов). Чтобы получать значения переменных среды либо изменять их, в классе System существуют методы String getProperty(String variable) String setProperty(String variable, String value) 31
  32. 32. Библиотека классов Java Класс System Имя java.version java.vendor java.vendor.url java.class.version java.class.path java.home Значение Доступ для апплета да да да да нет нет Версия интерпретатора Java Строка идентификатора, заданная разработчиком URL разработчика Версия Java API Значение переменной CLASSPATH Каталог, в котором инсталлирована среда Java java.compiler os.name os.arch os.version file.separator path.separator line.separator user.name user.home user.dir user.language user.region user.timezone Компилятор JIT Название операционной системы Архитектура компьютера, на котором выполняется программа Версия операционной системы Web-узла Зависящие от платформы разделители файлов (/ или ) Зависящие от платформы разделители пути (: или ;) Зависящие от платформы разделители строк (n или rn) Имя текущего пользователя Домашний каталог пользователя Текущий рабочий каталог 2-символьный код языка для местности по умолчанию 2-символьный код страны для местности по умолчанию Временной пояс по умолчанию нет да да да да да да нет нет нет нет нет нет user.encoding user.encoding.pkg Кодировка сиволов для местности по умолчанию Пакет, содержащий конверторы для преобразования символов из местной кодировки в Unicode нет нет 32
  33. 33. Библиотека классов Java Класс System //отображаем путь к текущему каталогу пользователя System.out.println(System.getProperty(“user.dir”)); //устанавливаем текущим каталогом пользователя c:java System.setProperty(“user.dir”,”c:java”); 33
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×