Позволяет ли Java передавать геттер в качестве параметра метода? - PullRequest
0 голосов
/ 16 января 2019

Нет лямбда, предикат, интерфейс. Просто обычный класс с обычным получателем. Например:

public int getWeight(){return weight;}

public int convertToLbs(int weight){some code here ...}


someObject.convertToLbs(someObject.getWeight())//valid???

Спасибо

1 Ответ

0 голосов
/ 16 января 2019

Ваш текущий синтаксис действителен, но вы передаете значение weight, потому что Java передается по значению .

Чтобы передать ссылку на метод для чего-то, что возвращает intВы можете использовать IntSupplier:

public int getWeight() { return weight; }
public int convertToLbs(IntSupplier s) { int w = s.getAsInt(); ... }

someObject.convertToLbs(someObject::getWeight);
...