JAVA 8 » История » Версия 2
Александр Александров, 20.04.2019 23:47
1 | 1 | Александр Александров | h1. JAVA 8 |
---|---|---|---|
2 | |||
3 | h2. Вопросы |
||
4 | |||
5 | # Какие нововведения, появились в Java 8? |
||
6 | # Как сортировать список строк с помощью лямбда-выражения? |
||
7 | # Какова структура лямбда-выражения? |
||
8 | # К каким переменным есть доступ у Лямбда-выражений? |
||
9 | # Что такое ссылки на метод? |
||
10 | # Какие виды ссылок на методы вы знаете? |
||
11 | # Объясните выражение System.out::println. |
||
12 | # Что такое функциональные интерфейсы? |
||
13 | # Для чего нужен функциональный интерфейс BiConsumer<T,U>? |
||
14 | # Для чего нужен функциональный интерфейс BiFunction<T,U,R>? |
||
15 | # Для чего нужен функциональный интерфейс BinaryOperator<T>? |
||
16 | # Для чего нужен функциональный интерфейс BiPredicate<T,U>? |
||
17 | # Для чего нужен функциональный интерфейс BooleanSupplier? |
||
18 | # Для чего нужен функциональный интерфейс Consumer<T>? |
||
19 | # Для чего нужен функциональный интерфейс DoubleBinaryOperator? |
||
20 | # Для чего нужен функциональный интерфейс DoubleConsumer? |
||
21 | # Для чего нужен функциональный интерфейс DoubleFunction<R>? |
||
22 | # Для чего нужен функциональный интерфейс DoublePredicate? |
||
23 | # Для чего нужен функциональный интерфейс DoubleSupplier? |
||
24 | # Для чего нужен функциональный интерфейс DoubleToIntFunction? |
||
25 | # Для чего нужен функциональный интерфейс DoubleToLongFunction? |
||
26 | # Для чего нужен функциональный интерфейс DoubleUnaryOperator? |
||
27 | # Для чего нужен функциональный интерфейс Function<T,R>? |
||
28 | # Для чего нужен функциональный интерфейс IntBinaryOperator? |
||
29 | # Для чего нужен функциональный интерфейс IntConsumer? |
||
30 | # Для чего нужен функциональный интерфейс IntFunction<R>? |
||
31 | # Для чего нужен функциональный интерфейс IntPredicate? |
||
32 | # Для чего нужен функциональный интерфейс IntSupplier? |
||
33 | # Для чего нужен функциональный интерфейс IntToDoubleFunction? |
||
34 | # Для чего нужен функциональный интерфейс IntToLongFunction? |
||
35 | # Для чего нужен функциональный интерфейс IntUnaryOperator? |
||
36 | # Для чего нужен функциональный интерфейс LongBinaryOperator? |
||
37 | # Для чего нужен функциональный интерфейс LongConsumer? |
||
38 | # Для чего нужен функциональный интерфейс LongFunction<R>? |
||
39 | # Для чего нужен функциональный интерфейс LongPredicate? |
||
40 | # Для чего нужен функциональный интерфейс LongSupplier? |
||
41 | # Для чего нужен функциональный интерфейс LongToDoubleFunction? |
||
42 | # Для чего нужен функциональный интерфейс LongToIntFunction? |
||
43 | # Для чего нужен функциональный интерфейс LongUnaryOperator? |
||
44 | # Для чего нужен функциональный интерфейс ObjDoubleConsumer<T>? |
||
45 | # Для чего нужен функциональный интерфейс ObjIntConsumer<T>? |
||
46 | # Для чего нужен функциональный интерфейс ObjLongConsumer<T>? |
||
47 | # Для чего нужен функциональный интерфейс Predicate<T>? |
||
48 | # Для чего нужен функциональный интерфейс Supplier<T>? |
||
49 | # Для чего нужен функциональный интерфейс ToDoubleBiFunction<T,U>? |
||
50 | # Для чего нужен функциональный интерфейс ToDoubleFunction<T>? |
||
51 | # Для чего нужен функциональный интерфейс ToIntBiFunction<T,U>? |
||
52 | # Для чего нужен функциональный интерфейс ToIntFunction<T>? |
||
53 | # Для чего нужен функциональный интерфейс ToLongBiFunction<T,U>? |
||
54 | # Для чего нужен функциональный интерфейс ToLongFunction<T>? |
||
55 | # Для чего нужен функциональный интерфейс UnaryOperator<T>? |
||
56 | # Что такое StringJoiner? |
||
57 | # Что такое default методы? |
||
58 | # Что такое static методы? |
||
59 | # Как вызывать default-метод интерфейса в классе? |
||
60 | # Как вызывать static-метод интерфейса в классе? |
||
61 | # Что такое потоки(stream) в Java 8 |
||
62 | # Для чего нужен метод collect Java 8? |
||
63 | # В чем разница между коллекцией(Collection) и потоком(Stream)? |
||
64 | # Для чего предназначен метод forEach в потоках(stream)? |
||
65 | # Как вывести на экран 10 случайных чисел, используя forEach? |
||
66 | # Для чего предназначен метод map в потоках(stream)? |
||
67 | # Как можно вывести на экран уникальные квадраты чисел используя метод map? |
||
68 | # Какова цель метода filter в потоках(stream)? |
||
69 | # Как вывести на экран количество пустых строк с помощью метода filter? |
||
70 | # Для чего предназначен метод limit в потоках(stream)? |
||
71 | # Для чего предназначен метод sorted в потоках(stream)? |
||
72 | # Как вывести на экран 10 случайных чисел в отсортированном порядке в Java 8? |
||
73 | # Параллельная обработка в Java 8? |
||
74 | # Как найти максимальное число в списке Java 8? |
||
75 | # Как найти минимальное число в списке Java 8? |
||
76 | # Как получить сумму всех чисел в списке, используя Java 8? |
||
77 | # Как получить среднее значение всех чисел, в списке, используя Java 8? |
||
78 | # Что такое Optional? |
||
79 | # Что такое Nashorn? |
||
80 | # Что такое jjs в Java 8? |
||
81 | # Что такое LocalDateTime в Java 8? |
||
82 | # Что такое ZonedDateTime в Java 8? |
||
83 | # Как получить текущую дату с использованием time API из Java 8? |
||
84 | # Как добавить 1 неделю к текущей дате с использованием time API? |
||
85 | # Как добавить 1 месяц к текущей дате с использованием time API? |
||
86 | # Как добавить 1 год к текущей дате с использованием time API? |
||
87 | # Как добавить 10 лет к текущей дате с использованием time API? |
||
88 | # Как получить следующий вторник используя time API? |
||
89 | # Как получить вторую субботу текущего месяца используя time API? |
||
90 | # Как получить текущею дату в миллисекундах используя time API? |
||
91 | # Как получить текущею дату по местному времени в миллисекундах используя используя time API? |
||
92 | # Какой класс появился в Java 8 для декодирования данных? |
||
93 | # Какой класс появился в Java 8 для кодирования данных? |
||
94 | # Как создать Base64 декодировщик? |
||
95 | # Как создать Base64 кодировщик? |
||
96 | |||
97 | h2. Ответы |
||
98 | |||
99 | h3. Какие нововведения, появились в Java 8? |
||
100 | |||
101 | 2 | Александр Александров | В Java 8 было добавлено много функций, наиболее значимые из них упомянуты ниже: |
102 | |||
103 | * Полноценная поддержка лямбда-выражений, которая добавляет |
||
104 | * функциональные возможности обработки данных для Java. |
||
105 | * Ключевое слово default в интерфейсах для поддержки функциональности по умолчанию(интерфейс может иметь реализацию метода по умолчанию). |
||
106 | * Ссылки на методы. |
||
107 | * Функциональные интерфейсы (предикаты, поставщики и т. д.) |
||
108 | * Потоки (stream) для работы с коллекциями |
||
109 | * Новое API для работы с датами |
||
110 | * Nashorn движок JavaScript, разрабатываемый полностью на Java компанией Oracle |
||
111 | |||
112 | 1 | Александр Александров | h3. Как сортировать список строк с помощью лямбда-выражения? |
113 | |||
114 | 2 | Александр Александров | Следующий код сортирует список строк с помощью лямбда-выражения Java 8: |
115 | |||
116 | {{dmsf_image(209)}} |
||
117 | |||
118 | 1 | Александр Александров | h3. Какова структура лямбда-выражения? |
119 | |||
120 | 2 | Александр Александров | Лямбда выражение имеет следующую структуру: (method params) -> {lambda expression body}, где |
121 | |||
122 | * method params - список входящих параметров, разделенных запятой(в случаи если параметров больше одного заключаются в скобки). |
||
123 | * оператор "->" - служит разделителем между списком параметров нашего метода и телом, в котором происходит его реализация. |
||
124 | * lambda expression body - тело метода, состоящее из одного выражения или нескольких, заключенных в фигурные скобки. |
||
125 | |||
126 | 1 | Александр Александров | h3. К каким переменным есть доступ у Лямбда-выражений? |
127 | |||
128 | 2 | Александр Александров | Лямбда-выражения имеют доступ к переменным области видимости, в которой их определили. Но доступ возможен только при условии, что переменные являются effective final, то есть либо явно имеют модификатор final, либо не меняют своего значения после инициализации, если переменной присваивается значение во второй раз, лямбда-выражение вызывает ошибку компиляции. |
129 | |||
130 | 1 | Александр Александров | h3. Что такое ссылки на метод? |
131 | |||
132 | 2 | Александр Александров | Ссылки на метод - компактные лямбда-выражения которые позволяют передавать ссылки на методы или конструкторы. Для этого нужно использовать ключевое слово "::". Ссылочные методы внедряют полезный синтаксис, чтобы ссылаться на существующие методы или конструкторы Java-классов или объектов (экземпляров). Совместно с лямбда-выражениями, ссылочные методы делают языковые конструкции компактными и лаконичными, делая его шаблонным |
133 | |||
134 | 1 | Александр Александров | h3. Какие виды ссылок на методы вы знаете? |
135 | |||
136 | 2 | Александр Александров | Существует четыре вида ссылок на методы: |
137 | |||
138 | * Ссылка на статический метод(ContainingClass::staticMethodName) |
||
139 | * Ссылка на метод конкретного объекта(ContainingObject::instanceMethodName) |
||
140 | * Ссылка на метод произвольного объекта конкретного типа(ContainingType::methodName) |
||
141 | * Ссылка на конструктор(ClassName::new), для дженериков (generics) Class< T>::new. |
||
142 | |||
143 | 1 | Александр Александров | h3. Объясните выражение System.out::println. |
144 | |||
145 | 2 | Александр Александров | Выражение System.out::println является ссылкой на статический метод println объекта out класа System, который эквивалентен лямбда-выражению x -> System.out.println(x). |
146 | |||
147 | 1 | Александр Александров | h3. Что такое функциональные интерфейсы? |
148 | |||
149 | 2 | Александр Александров | Функциональный интерфейс - это тот интерфейс, который определяет строго один абстрактный метод. В Java 8 была введена новая аннотация @FunctionalInterface для обозначения интерфейса, функциональным, эта аннотация используется для того, чтобы избежать случайного добавления абстрактных методов в функциональный интерфейс. Она не обязательна, но является хорошей практикой написания кода. Функциональные интерфейсы позволяют нам использовать лямбдавыражения для создания экземпляра таких интерфейсов. Лучшим примером функционального интерфейса будет интерфейс java.lang.Runnable с одним абстрактным методом run(). Заметим, интерфейс может включать сколько угодно default методов и при этом оставаться функциональным, потому что default методы - не абстрактные. |
150 | |||
151 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс BiConsumer<T,U>? |
152 | |||
153 | 2 | Александр Александров | Представляет собой операцию, которая принимает два входных параметра, и не возвращает никакого результата. |
154 | |||
155 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс BiFunction<T,U,R>? |
156 | |||
157 | 2 | Александр Александров | Представляет собой функцию, которая принимает два аргумента и возвращает результат. |
158 | |||
159 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс BinaryOperator<T>? |
160 | |||
161 | 2 | Александр Александров | Представляет собой операцию над двумя операндами одного и того же типа, выполняет над ними бинарную операцию и возвращает результат того же типа, что и операнды. |
162 | |||
163 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс BiPredicate<T,U>? |
164 | |||
165 | 2 | Александр Александров | Представляет собой предикат (булеву функцию) двух аргументов. |
166 | |||
167 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс BooleanSupplier? |
168 | |||
169 | 2 | Александр Александров | Представляет собой поставщика булевых результатов. |
170 | |||
171 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс Consumer<T>? |
172 | |||
173 | 2 | Александр Александров | Представляет собой операцию, которая принимает один входной аргумент, выполняет некоторое действие над объектом типа T, при этом ничего не возвращая. |
174 | |||
175 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoubleBinaryOperator? |
176 | |||
177 | 2 | Александр Александров | Представляет собой операцию над двумя операндами типа double, возвращает результат типа double. |
178 | |||
179 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoubleConsumer? |
180 | |||
181 | 2 | Александр Александров | Представляет собой операцию, которая принимает один аргумент типа double, и не возвращает результат. |
182 | |||
183 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoubleFunction<R>? |
184 | |||
185 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа double, и возвращает результат. |
186 | |||
187 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoublePredicate? |
188 | |||
189 | 2 | Александр Александров | Представляет собой предикат (булеву функцию) одного аргумента типа double. |
190 | |||
191 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoubleSupplier? |
192 | |||
193 | 2 | Александр Александров | Представляет собой поставщика double результатов. |
194 | |||
195 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoubleToIntFunction? |
196 | |||
197 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа double, возвращает результат типу int. |
198 | |||
199 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoubleToLongFunction? |
200 | |||
201 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа double, и возвращает результат типу long. |
202 | |||
203 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс DoubleUnaryOperator? |
204 | |||
205 | 2 | Александр Александров | Представляет собой операцию над одним аргументом типа double, возвращает результат типу double. |
206 | |||
207 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс Function<T,R>? |
208 | |||
209 | 2 | Александр Александров | Представляет собой функцию перехода от объекта типа T к объекту типа R. |
210 | |||
211 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntBinaryOperator? |
212 | |||
213 | 2 | Александр Александров | Представляет собой операцию над двумя операндами типа int, возвращает результат типа int. |
214 | |||
215 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntConsumer? |
216 | |||
217 | 2 | Александр Александров | Представляет собой операцию, которая принимает один аргумент типа int, и не возвращает результат. |
218 | |||
219 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntFunction<R>? |
220 | |||
221 | 2 | Александр Александров | Представляет собой операцию, которая принимает один аргумент типа int, возвращает результат. |
222 | |||
223 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntPredicate? |
224 | |||
225 | 2 | Александр Александров | Представляет собой предикат (булеву функцию) одного аргумента типа int. |
226 | |||
227 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntSupplier? |
228 | |||
229 | 2 | Александр Александров | Представляет собой поставщика int результатов. |
230 | |||
231 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntToDoubleFunction? |
232 | |||
233 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа int, возвращает результат типу double. |
234 | |||
235 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntToLongFunction? |
236 | |||
237 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа int, возвращает результат типу long. |
238 | |||
239 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс IntUnaryOperator? |
240 | |||
241 | 2 | Александр Александров | Представляет собой операцию над одним аргументом типа int, возвращает результат типу int. |
242 | |||
243 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongBinaryOperator? |
244 | |||
245 | 2 | Александр Александров | Представляет собой операцию над двумя операндами типа long, возвращает результат типа long. |
246 | |||
247 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongConsumer? |
248 | |||
249 | 2 | Александр Александров | Представляет собой операцию, которая принимает один аргумент типа long, не возвращает результат. |
250 | |||
251 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongFunction<R>? |
252 | |||
253 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа long, и возвращает результат. |
254 | |||
255 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongPredicate? |
256 | |||
257 | 2 | Александр Александров | Представляет собой предикат (булеву функцию) одного аргумента типа long. |
258 | |||
259 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongSupplier? |
260 | |||
261 | 2 | Александр Александров | Представляет собой поставщика long результатов. |
262 | |||
263 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongToDoubleFunction? |
264 | |||
265 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа long, и возвращает результат типу double. |
266 | |||
267 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongToIntFunction? |
268 | |||
269 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент типа long, и возвращает результат типу int. |
270 | |||
271 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс LongUnaryOperator? |
272 | |||
273 | 2 | Александр Александров | Представляет собой операцию над одним аргументом типа long, возвращает результат типу long. |
274 | |||
275 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ObjDoubleConsumer<T>? |
276 | |||
277 | 2 | Александр Александров | Представляет собой операцию, которая принимает один аргумент типа object, и второй типа double, и не возвращает результат. |
278 | |||
279 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ObjIntConsumer<T>? |
280 | |||
281 | 2 | Александр Александров | Представляет собой операцию, которая принимает один аргумент типа object, и второй типа int, и не возвращает результат. |
282 | |||
283 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ObjLongConsumer<T>? |
284 | |||
285 | 2 | Александр Александров | Представляет собой операцию, которая принимает один аргумент типа object, и второй типа long, и не возвращает результат. |
286 | |||
287 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс Predicate<T>? |
288 | |||
289 | 2 | Александр Александров | Представляет собой предикат (булеву функцию) одного аргумента. |
290 | |||
291 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс Supplier<T>? |
292 | |||
293 | 2 | Александр Александров | Представляет собой поставщика результатов. |
294 | |||
295 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ToDoubleBiFunction<T,U>? |
296 | |||
297 | 2 | Александр Александров | Представляет собой функцию, которая принимает два аргумента, возвращает результат типу double. |
298 | |||
299 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ToDoubleFunction<T>? |
300 | |||
301 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент, возвращает результат типа double. |
302 | |||
303 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ToIntBiFunction<T,U>? |
304 | |||
305 | 2 | Александр Александров | Представляет собой функцию, которая принимает два аргумента, возвращает результат типу int. |
306 | |||
307 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ToIntFunction<T>? |
308 | |||
309 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент, возвращает результат типа int. |
310 | |||
311 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ToLongBiFunction<T,U>? |
312 | |||
313 | 2 | Александр Александров | Представляет собой функцию, которая принимает два аргумента, возвращает результат типу long. |
314 | |||
315 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс ToLongFunction<T>? |
316 | |||
317 | 2 | Александр Александров | Представляет собой функцию, которая принимает один аргумент, возвращает результат типа long. |
318 | |||
319 | 1 | Александр Александров | h3. Для чего нужен функциональный интерфейс UnaryOperator<T>? |
320 | 2 | Александр Александров | |
321 | Представляет собой операцию над одним операндом, возвращает результат того же типа, что и операнд. |
||
322 | 1 | Александр Александров | |
323 | h3. Что такое StringJoiner? |
||
324 | |||
325 | h3. Что такое default методы? |
||
326 | |||
327 | h3. Что такое static методы? |
||
328 | |||
329 | h3. Как вызывать default-метод интерфейса в классе? |
||
330 | |||
331 | h3. Как вызывать static-метод интерфейса в классе? |
||
332 | |||
333 | h3. Что такое потоки(stream) в Java 8 |
||
334 | |||
335 | h3. Для чего нужен метод collect Java 8? |
||
336 | |||
337 | h3. В чем разница между коллекцией(Collection) и потоком(Stream)? |
||
338 | |||
339 | h3. Для чего предназначен метод forEach в потоках(stream)? |
||
340 | |||
341 | h3. Как вывести на экран 10 случайных чисел, используя forEach? |
||
342 | |||
343 | h3. Для чего предназначен метод map в потоках(stream)? |
||
344 | |||
345 | h3. Как можно вывести на экран уникальные квадраты чисел используя метод map? |
||
346 | |||
347 | h3. Какова цель метода filter в потоках(stream)? |
||
348 | |||
349 | h3. Как вывести на экран количество пустых строк с помощью метода filter? |
||
350 | |||
351 | h3. Для чего предназначен метод limit в потоках(stream)? |
||
352 | |||
353 | h3. Для чего предназначен метод sorted в потоках(stream)? |
||
354 | |||
355 | h3. Как вывести на экран 10 случайных чисел в отсортированном порядке в Java 8? |
||
356 | |||
357 | h3. Параллельная обработка в Java 8? |
||
358 | |||
359 | h3. Как найти максимальное число в списке Java 8? |
||
360 | |||
361 | h3. Как найти минимальное число в списке Java 8? |
||
362 | |||
363 | h3. Как получить сумму всех чисел в списке, используя Java 8? |
||
364 | |||
365 | h3. Как получить среднее значение всех чисел, в списке, используя Java 8? |
||
366 | |||
367 | h3. Что такое Optional? |
||
368 | |||
369 | h3. Что такое Nashorn? |
||
370 | |||
371 | h3. Что такое jjs в Java 8? |
||
372 | |||
373 | h3. Что такое LocalDateTime в Java 8? |
||
374 | |||
375 | h3. Что такое ZonedDateTime в Java 8? |
||
376 | |||
377 | h3. Как получить текущую дату с использованием time API из Java 8? |
||
378 | |||
379 | h3. Как добавить 1 неделю к текущей дате с использованием time API? |
||
380 | |||
381 | h3. Как добавить 1 месяц к текущей дате с использованием time API? |
||
382 | |||
383 | h3. Как добавить 1 год к текущей дате с использованием time API? |
||
384 | |||
385 | h3. Как добавить 10 лет к текущей дате с использованием time API? |
||
386 | |||
387 | h3. Как получить следующий вторник используя time API? |
||
388 | |||
389 | h3. Как получить вторую субботу текущего месяца используя time API? |
||
390 | |||
391 | h3. Как получить текущею дату в миллисекундах используя time API? |
||
392 | |||
393 | h3. Как получить текущею дату по местному времени в миллисекундах используя используя time API? |
||
394 | |||
395 | h3. Какой класс появился в Java 8 для декодирования данных? |
||
396 | |||
397 | h3. Какой класс появился в Java 8 для кодирования данных? |
||
398 | |||
399 | h3. Как создать Base64 декодировщик? |
||
400 | |||
401 | h3. Как создать Base64 кодировщик? |