Java是否允许将getter作为方法参数传递?
没有Lambda、谓词、接口。只是一个普通的课程,有一个普通的获得者。例如:Java是否允许将getter作为方法参数传递?,java,methods,parameter-passing,Java,Methods,Parameter Passing,没有Lambda、谓词、接口。只是一个普通的课程,有一个普通的获得者。例如: public int getWeight(){return weight;} public int convertToLbs(int weight){some code here ...} someObject.convertToLbs(someObject.getWeight())//valid??? 谢谢您当前的语法是有效的,但是您正在传递权重值,因为 要为返回int的内容传递方法引用,可以使用IntSup
public int getWeight(){return weight;}
public int convertToLbs(int weight){some code here ...}
someObject.convertToLbs(someObject.getWeight())//valid???
谢谢您当前的语法是有效的,但是您正在传递
权重
值,因为
要为返回int
的内容传递方法引用,可以使用IntSupplier
:
public int getWeight() { return weight; }
public int convertToLbs(IntSupplier s) { int w = s.getAsInt(); ... }
someObject.convertToLbs(someObject::getWeight);
您当前的语法有效,但您正在传递
权重
值,因为
要为返回int
的内容传递方法引用,可以使用IntSupplier
:
public int getWeight() { return weight; }
public int convertToLbs(IntSupplier s) { int w = s.getAsInt(); ... }
someObject.convertToLbs(someObject::getWeight);
您试过了吗?在您的示例中,您没有传递方法引用,而是调用了一个getter并传递了返回值。是的,这是允许的,因为它返回int,与将整数传递给方法一样好。van dench谢谢。Java使用按值传递。不确定什么是方法参考?你能详细说明吗?应该很容易测试。。。无论如何,您的调用与
intw=someObject.getWeight()类似;一些物体。敞篷车(w)代码>您尝试过吗?在您的示例中,您没有传递方法引用,而是调用了一个getter并传递了返回值。是的,这是允许的,因为它返回int,与将整数传递给方法一样好。van dench谢谢。Java使用按值传递。不确定什么是方法参考?你能详细说明吗?应该很容易测试。。。无论如何,您的调用与intw=someObject.getWeight()类似;一些物体。敞篷车(w)代码>