- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
public class FloatDynamicArray implements DynamicArray {
private int arrayLength;
private int countOfValues;
private float[] dataArray;
public FloatDynamicArray(int arrayLength) {
this.arrayLength = arrayLength;
dataArray = new float[arrayLength];
}
public long getLongValue(int index) {
throw new IllegalAccessError("Cannot get long value from FloatDynamicArray !");
}
public float getFloatValue(int index) {
return dataArray[index];
}
...
...
...
зачем делать отдельный метод getLongValue, который возбуждает исключение IllegalAccessError, когда мы заведомо знаем что это FloatDynamicArray, содержащий float[] значения ?
какая в жопу разница?
Правда, потом можно соснуть вызвав toList() у эррея, но сосут обычно в другом месте
Чтоб они были zero-cost как в божественной Сишке.
https://openjdk.java.net/jeps/169
Кстати, вот ещё забавное говнецо обнаружил:
https://openjdk.java.net/jeps/359
https://openjdk.java.net/jeps/301
стирать тип \ не стирать тип \ стирать но не полностью
Там больше о енумах речь.
new Koko<Type>(){}; //тип доступен в рантайме
Только, наверное, Принцип разделения интерфейса, а не Барбары ?
Ни в стандартной либе, ни где либо ещё.
Или женерики полноценные пусть сделают (малореальный вариант), или zero-cost структуры для упаковки произвольных примитивов.
https://www.youtube.com/watch?v=wg77OW18jjk
Это всё, конечно, хорошо, но вот когда я давеча пытался на венде пытался отключить своп, венда меня тихонечко послала нахуй. Ну то есть я захожу в настройки файла подкачки (как всегда, по очень интуитивному пути: Этот Компьютер -> Свойства -> Дополнительные параметры системы -> Параметры (Быстродействие) -> Дополнительно -> Изменить (Виртуальная память)), убираю весь своп, нажимаю «OK» — и не происходит ровным счётом нихуя.
Пришлось пердолиться с «gwmi win32_pagefilesetting».