Когда мы пишем следующий кодКак использовать обозначение стрелки (->) для создания защищенного метода?
Stream.of(1,2,3,4,5).filter(i -> (i%2 == 0)).map(i -> i*i);
Выражение i -> (i%2 == 0)
или i -> i*i
превратится в частный метод .
В моем случае, один из тестов junit написан для обеспечения того, чтобы какой-либо метод не был приватным (yaah, это обязательно), и это не удается для этих лямбда-выражений.
Может кто-нибудь предложить что-то, в котором мне не нужно менять junit, чтобы добавить исключение для лямбда-выражений, но сделать это выражение, чтобы сделать защищенным способом внутри?
Ваш тест безумный, и вы должны избавиться от него. – SLaks
Если это ваше требование, определите методы явно и сделайте их защищенными. Но, как говорит Слакс, это откровенно безумное требование. –
Я не понимаю, что вы имеете в виду, когда говорите, что лямбда «превращается в частный метод». Если он «превращается» во что-либо, это экземпляр «Function» или что-то еще, и эти методы являются общедоступными. Я имею в виду, если бы он превратился в частный метод, как бы 'filter' и' map' могли их вызывать? – aioobe