return пустой массив

74
14 ноября 2021, 02:30

Как вернуть пустой массив в методе?

Answer 1

Если нужно возвращать любой тип, то только так:

public static <T> T returnArray(T type) {
    return type;
}

Работать с методом надо так:

System.out.println(((int[])returnArray(new int[0])).length); //0
System.out.println(((char[])returnArray(new char[0])).length); //0
System.out.println(((boolean[][])returnArray(new boolean[0][0])).length); //0

Но нужно учитывать, если хотите получить массив, который передали, нужно примерять (cast).
А чтобы проверять (cast), чтобы быть уверенным, к какому типу применяем (cast), нужно

System.out.println(returnArray(new int[0]) instanceof int[]); // true

Либо делать костыль через .getClass(), что в данном случае будет реальный костыль.

А если вам нужно определенный тип возвращать, то тут уж, еще проще:

public static int[] returnIntArray() {
    return new int[0];
}

UPD:

public static double[] steigung(double[] d, double r) {
    return d == null || r <= 0 ? null : d.length <= 1 ? new double[0] : d;
}

Вывод:

System.out.println(steigung(null, 0)); // null
System.out.println(steigung(null, 1)); // null
System.out.println(steigung(new double[0], 0)); // null
System.out.println(steigung(new double[0], 1).length); // 0
System.out.println(steigung(new double[1], 1).length); // 0
System.out.println(steigung(new double[2], 1).length); // 2
READ ALSO
Ограничение записи массива в массив

Ограничение записи массива в массив

Пришлось немного подхимичить код чтобы при загрузке на сайт универа не одинаков былВ общем где тут дописать чтобы при двух массивах с одним...

114
Можно ли как-то поместить иконки в jar, чтобы было проще его передать на другой компьютер?

Можно ли как-то поместить иконки в jar, чтобы было проще его передать на другой компьютер?

У меня Maven-проектЯ положила иконки в папку src\main\resources, прописала такие же пути к ним, но созданный jar-архив их не видит

84
Как включить CORS или OPTIONS метод в AWS Lambda Function Handler без API Gateway в коде?

Как включить CORS или OPTIONS метод в AWS Lambda Function Handler без API Gateway в коде?

У меня есть метод lambda на JAVAКогда я посылаю запрос методом OPTIONS, я поучаю {"message":"Missing Authentication Token"}

104
переделать в stream

переделать в stream

как переписать этот цикл в stream?

174