Как отсортировать список строк в обратном алфавитном порядке

Как отсортировать список строк в обратном алфавитном порядке

1234567891011121314151617import java.util.Arrays; import java.util.Comparator; public class test {     static class MyComparator implements Comparator<String> {         public int compare(String strA, String strB) {             return strB.compareTo(strA);         }     }     public static void main(String[] args) {         String[] mass = new String[]{"hello", "world", "any_shit", "my_word"};         MyComparator rsc = new MyComparator();         Arrays.sort(mass, rsc);    …

Читать далее Читать далее

Правила сериализации

Правила сериализации

При сериализации автоматически не сериализуются: — transient переменные — static переменные — унаследованные переменные (они будут инициализированы с помощью конструктора родительского класса без параметров). Все это можно разными способами сериализовать врукопашную (externalizable). Для сериализации объектов внутренних нестатических классов, внешние классы должны быть сериализуемыми. Да, чтобы немного дополнить алгоритм стандартной сериализации/десериализации, используют два метода: 1234567891011121314151617181920public class B extends A implements Serializable {         private String nameB;         private void writeObject(ObjectOutputStream oos) throws Exception{    …

Читать далее Читать далее

Получение всех методов класса и их выполнение

Получение всех методов класса и их выполнение

1234567Class c = person.getClass(); Method[] methods = c.getDeclaredMethods(); //Получаем массив объявленных методов класса person try {     methods[0].invoke(person, null); //Выполняем первый попавшийся метод } catch (IllegalAccessException | InvocationTargetException e) {     e.printStackTrace(); } Более подробно расписано здесь (http://java-online.ru/java-reflection.xhtml). Вызов метода с параметрами: 12345Class aclass = obj.getClass(); Class[] paramTypes = new Class[] { String.class, int.class }; Method method = aclass.getMethod("getCalculateRating", paramTypes); Object[] args = new Object[] { new String("First Calculate"), new Integer(10) }; Double d = (Double) method.invoke(obj, args);…

Читать далее Читать далее

Создание объекта класса по его имени

Создание объекта класса по его имени

В общем виде это выглядет так (http://java-online.ru/java-reflection.xhtml): 123Class aclass = Class.forName("Test"); Object obj = aclass.newInstance(); Test test = (Test) obj; Пример: файл Person.java с объявлением интерфейса, в котором содержатся классы: 123456789package com.javarush.task.task14.task1411; public interface Person {     class User implements Person {         void foo() { System.out.println("Something"); }     }     class Coder implements Person {         void foo() { System.out.println("Something"); }     } } фрагмент файла Solution.java, находящийся в…

Читать далее Читать далее

Несколько типов исключений в одном блоке Catch

Несколько типов исключений в одном блоке Catch

123456try{    ///Something } catch (Exception | NoClassDefFoundError e){    System.out.println(e); } Здесь в одном блоке Catch мы отлавливаем исключения двух типов. Замечу, что NoClassDefFoundError не является наследником класса Exception.

Изменение регистра. Сделать первую букву строки заглавной.

Изменение регистра. Сделать первую букву строки заглавной.

1234public static String firstUpperCase(String string){         if (string == null || string.isEmpty()) return "";         return string.substring(0, 1).toUpperCase() + string.substring(1).toLowerCase();     }

pfSense — Решение проблем

pfSense — Решение проблем

Второй раз встречаюсь с ситуацией, решил написать здесь. Симптомы: Не прикрепляются файлы к письмам на Яндекс почте На некоторых компьютерах очень тугой интернет, не открываются некоторые файлы. Причём на других компьютерах может быть нормально. Перед этим: Аварийное отключение питания компьютера с pfSense Web-интерфейс pfSense: Disk usage: / (ufs): 100% of 70G Решение: Заходим в Web-интерфейс pfSense -> Status -> Services Останавливаем Squid Подключаемся к pfSense при помощи Putty Очищаем файлы кэша: rm -fr /var/squid/cache/* Создаём новый кэш: squid -z Запускаем…

Читать далее Читать далее

Создание корпоративного чата

Создание корпоративного чата

Добрый день! Достаточно давно я хотел огранизовать корпоративный чат, да всё никак не мог определиться на каком ПО всё это строить. Задача: бесплатный, сервер должен быть локальным и желательно под линукс, возможность передачи файлов желательно и для пользователей кто оффлайн, красивый интерфейс и смайлики :). Путём проб и ошибок всё-таки пришел к конечному результату, который сейчас используем. Чтобы избавить Вас от столь мучительных поисков — опишу весь процесс тут. Итак, что я пробовал: Bimoid Плюсы: Бесплатный; Сервер ставится в локальную…

Читать далее Читать далее