Как вернуть пустой массив в методе?
Если нужно возвращать любой тип, то только так:
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
Сборка персонального компьютера от Artline: умный выбор для современных пользователей