gpt4 book ai didi

java - 返回对象实例而不是java中的函数返回(隐式参数)

转载 作者:行者123 更新时间:2023-12-01 19:20:16 26 4
gpt4 key购买 nike

我想设置一个相对于另一个组件的矩形位置,但有偏移。我尝试了以下方法:

rndRect.setLocation(StartButt.getLocation().translate(buttW, 2));

但translate返回void,因此不接受它作为参数(需要Point)。

有没有办法在同一条语句上执行此操作而不创建辅助变量?

没什么重要的,只是好奇心。

最佳答案

没有。如果 translate 接受一个已更改且未返回的可变变量,那么您需要声明一个变量以传递给 translate,然后将其传递给 setLocation.

或者,您可以编写自己的方法来获取位置并创建并返回一个点:

private Point translate(Location location, Point origin, int distance) {
Point result = (Point)origin.clone();
location.translate(result, distance);
return result;
}

rndRect.setLocation(translate(StartButt.getLocation(), buttW, 2));

有趣的是,对于使用临时变量暂时保存值是否是一个好主意,或者创建更少的更复杂的语句来避免临时变量是否是一个好主意,观点存在很大差异。就我个人而言,我发现命名良好的临时变量(和简短的简单方法)使阅读代码变得更加容易,因为当您阅读每个语句时,您不需要记住太多。代码读起来更像是一个故事,而不是一个谜题。根据我的经验,随着程序员在职业生涯中变得越来越好,他们会创建更多、更简单的类、方法、语句和变量来解决每个问题。

关于java - 返回对象实例而不是java中的函数返回(隐式参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59365866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com