Комментарии (162)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
nescafe
Уровень 30
вчера, 15:32
Пришлось перелопатить много инфы, чтобы нормально освоить регулярки. Чтобы другие учащиеся не тратили драгоценное время, оставляю ссылки на самые годные. Этой информации вам хватит в 99% случаев. Если плотно взяться за дело, тему можно освоить за 3 дня. RegEx: 20 коротких шагов Регулярные выражения в Java, часть 1 Серия коротких видео на Youtube Для проверки использовал этот ресурс: regex101 А здесь интерактивный туториал с несложными примерами, хорошо зайдёт в самом начале изучения темы: regexone Ну и официальная документация, без неё никак:) Pattern Matcher Всё, дальше можно не листать - вам этого пока хватит с головой)
nescafe
Уровень 30
26 июня, 16:50
Мои старые записи насчет этой темы. Специально писать примеры смысла нет, в интернете полно хорошего материала " Клонирование объектов: Для использования клонирования необходимо добавить реализацию Cloneable. Если в классе есть в качестве полей экземпляры других классов, то они так же должны реализовывать данный интерфейс. Для того, чтобы клонировать объекты вне данного пакета нужно переопределить метод clone(), дав ему уровень доступа public. Быстрее всего достать его через Alt+Insert – Override Methods – clone():
@Override
public Dog clone() throws CloneNotSupportedException {
    return (Dog) super.clone();
}
Теперь можно создавать клоны данного класса в любом пакете:
Dog dog = new Dog("Спайк", 5);
Dog dogClone = null;
try {
    dogClone = dog.clone();
} catch (CloneNotSupportedException e) {
    e.printStackTrace();
}
Если класс имеет ссылочные поля на другие классы, то необходимо, чтобы эти классы тоже реализовывали Cloneable, при этом в основном классе метод clone() должен выглядеть так:
public Dog clone() throws CloneNotSupportedException {
    Dog dog = (Dog) super.clone();
    dog.owner= owner.clone();
    return dog;
}
Если имеется поле с типом класса, которому мы не можем добавить Cloneable, можно реализовать свою логику добавления клону значения для этого поля. Например, создать новый экземпляр класса со значением полей идентичным тем, которые были у оригинала, а потом присвоить данный объект полю "
nescafe
Уровень 30
14 июня, 16:39
Writer — абстрактный класс, поток записи символов. void close(); void flush(); void write(int char); void write(String string); void append(char c); BufferedWriter — буферизированный выходной символьный поток; повышает производительность за счёт снижения количества операций физической записи в выходное устройство. BufferedWriter(Writer out) FileWriter — класс-адаптер между File и Writer, выходной поток символов, пишущий в файл. Создание объекта не зависит от наличия файла, он будет создан в случае необходимости. Если файл существует и доступен только для чтения, то передаётся исключение IOException. FileWriter(File file) FileWriter(File file, boolean append) – возможность дописать в конец файла FileWriter(String fileName) FileWriter(String fileName, boolean append) – возможность дописать в конец файла.
nescafe
Уровень 30
13 июня, 16:32
Пишем свой ридер-обертку на System.out Мне было легче понять таким образом:
// сохраняем System.out в свою переменную out
PrintStream out = System.out;

// добавляем stream к файлу
PrintStream ps = new PrintStream("file.txt");

// переопределяем System.out, для записи в наш файл вместо консоли
System.setOut(ps);

// эта строка добавится в файл
System.out.println("New text to our file.txt");

// переопределяем System.out обратно
System.setOut(out);

// эта строка уже выведится в консоле, как обычно
System.out.println("Output back to console");
nescafe
Уровень 30
13 июня, 15:08
Через \p{} обозначаются символьные классы. Ссылка на все группы символьных классов
\p{Lower}	A lower-case alphabetic character: [a-z]

\p{Upper}	An upper-case alphabetic character:[A-Z]

\p{ASCII}	All ASCII:[\x00-\x7F]

\p{Alpha}	An alphabetic character:[\p{Lower}\p{Upper}]

\p{Digit}	A decimal digit: [0-9]

\p{Alnum}	An alphanumeric character:[\p{Alpha}\p{Digit}]

\p{Punct}	Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

\p{Graph}	A visible character: [\p{Alnum}\p{Punct}]

\p{Print}	A printable character: [\p{Graph}\x20]

\p{Blank}	A space or a tab: [ \t]

\p{Cntrl}	A control character: [\x00-\x1F\x7F]

\p{XDigit}	A hexadecimal digit: [0-9a-fA-F]

\p{Space}	A whitespace character: [ \t\n\x0B\f\r]
nescafe
Уровень 30
13 июня, 15:06
nescafe
Уровень 30
10 июня, 17:19
кайф задачка на адаптеры https://javarush.com/tasks/com.javarush.task.task19.task1904#discussion
nescafe
Уровень 30
8 июня, 04:45
Появилась очередная разновидность класса, а именно "Анонимный класс". Вот немного информации о том, что из себя представляет эта сущность: Анонимный класс -- это безымянный класс , является подклассом (local) существующего класса или реализацией интерфейса (в случае создания через интерфейс, пишется, как буд-то мы создаём экземпляр интерфейса, но на самом деле создаётся экземпляр анонимного класса, реализующий этот интерфейс). Пример:
InterfaceExample anonymousClass = new InterfaceExample () {};
где
{}   // объявляют класс
а
();  // создают объект
Анонимным классом пользуются, когда нужно разово реализовать и переопределить поведение класса или интерфейса (такой подход укорачивает код). Анонимные классы имеют следующие особенности: 1. Поскольку анонимный класс не имеет имени, он не может иметь явный конструктор. 2. Анонимные классы никогда не могут быть статическими, либо абстрактными, и всегда являются конечными классами. 3. Не могут содержать статические переменные и методы. 4. Кроме того, каждое объявление анонимного класса уникально и видны они только в методе в котором создаются.
nescafe
Уровень 30
4 июня, 16:28
ВАЖНАЯ ТЕМА ДЛЯ СОБЕСА Передача параметров в методах (снизу в статье) https://javarush.com/groups/posts/1950-metodih-ikh-parametrih-vzaimodeystvie-i-peregruzka
nescafe
Уровень 30
4 июня, 15:59
Оставь надежду проскочить этот уровень, не изучив регулярные выражения, всяк сюда входящий. Пройти возможно, но значительно проще будет изучив следующие ссылки: 1. Экспресс-учебник по regex, для того, чтобы потрогать. 2. Ресурс на англ. для изучения regex. 3. Две ссылки на JavaRush-статьи. Номер раз и номер два. 4. Ссылка на официальную документацию. 5. Очень хороший плэйлист на ютубе с регулярками. 6. Регулярные выражения на хабре линк раз, линк два, линк три 7. Легкая вводная статья на quizful. 8. И наконец ресурсы для теста своих регулярных выражений: конкретно под Java, два, три.