gpt4 book ai didi

java - 静态导入重载方法

转载 作者:行者123 更新时间:2023-11-29 04:10:01 25 4
gpt4 key购买 nike

我有我的 DateUtils.java 文件,其中包含与日期相关的实用程序方法。我重载了方法 setDate() 如下:

// Overloaded method #1
public static void setDate(Date date) { }

// Overloaded method #2
public static void setDate(long timestamp) { }

我在我的其他类文件中只使用了上述方法之一。例如,setDate(Date date) 方法。当我尝试静态导入此方法时,它导入如下:

import static com.example.app.DateUtils.setDate;

此语句在我的实现中导入了两个重载方法,因为我只使用一个重载方法,而不是两个。

有没有办法选择性地static import重载方法?我的意思是,我可以只静态导入我感兴趣的方法吗?

最佳答案

Is there any way to static import overloaded method selectively? I mean, can I statically import only the method for which I am interested in?

不,你不能。请记住,静态导入(通常是导入)只是一种用于定义引用事物的简写版本的机制。所有这些import java.util.Map;是让你使用 Map否则你将不得不输入 java.util.Map .它与静态导入相同,它纯粹是获取(在您的情况下)com.example.all.DateUtils.setDate 的简写名称的一种方式。 .

如果您可以只导入一个重载而不导入另一个,它所做的就是使其与有效签名不匹配:

setDate(1234L);

...这不是那么有用。

如果你想使用 long重载与使用 Date 分开重载,您必须将它们拆分为单独的、非重载的方法。

关于java - 静态导入重载方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55613692/

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