Почему в Java 8 появился новый & ldquo; :: & rdquo; оператор для ссылки на метод?

Это использует PIL, но, возможно, некоторым может показаться полезным:

import scipy.misc
scipy.misc.imsave('outfile.jpg', image_array)

EDIT: Текущая версия scipy начала нормализовать все изображения, чтобы мин (данные) становились черными и максимальными (данные ) станет белым. Это нежелательно, если данные должны быть точными уровнями серого или точными каналами RGB. Решение:

import scipy.misc
scipy.misc.toimage(image_array, cmin=0.0, cmax=...).save('outfile.jpg')
23
задан Duncan Jones 27 October 2014 в 15:32
поделиться

1 ответ

Следующий фрагмент кода прекрасно компилируется в Java 8, но без нового оператора будет неоднозначным:

import java.util.function.IntBinaryOperator;

public class A {

  public static IntBinaryOperator addThemUp;

  public static int addThemUp(int i1, int i2) {
    return i1 + i2;
  }

  public static void main(String[] args) throws Exception {
    IntBinaryOperator operator = A::addThemUp;
  }
}

Не ясно, относится ли A.addThemUp к общедоступному полю IntBinaryOperator. или это попытка создать ссылку на метод.

Да, это немного надумано. Но вы не можете разрешить крайние случаи в синтаксисе языка программирования .

33
ответ дан Duncan Jones 27 October 2014 в 15:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: