gpt4 book ai didi

Java getResourceAsStream 静态解决方法。正确的?

转载 作者:行者123 更新时间:2023-11-30 06:20:43 29 4
gpt4 key购买 nike

我正在使用这段代码来获取我的资源:

 this.getClass().getResourceAsStream("Image.png");

在我不得不用静态方法实现它之前,它一直运行良好:

 public class UserDisplay {

public static void PlayerWon(final Display display, String player, final Composite WinCompo){

我不能在静态上下文中使用 this 关键字,所以我使用了我之前初始化的对象:

public class UserDisplay {

public static void PlayerWon(final Display display, String player, final Composite WinCompo){

final AudioLoop WinLoop = new AudioLoop("Sound.wav");

final Image WinBanner = new Image(display, WinLoop.getClass().getResourceAsStream("Image.png"));

它工作正常,但这是我的问题:

这是合法的解决方法吗?如果不是,我应该怎么做?

注意:我为糟糕的标题道歉。

最佳答案

使用 class literal反而。不清楚在这种情况下 AudioLoop 是什么,但除非它是您自己的库中的一个类,否则它可能不是您想要的。我怀疑你想要这样的东西:

new Image(display, UserDisplay.class.getResourceAsStream("Image.png"))

如果您确实想要获取与AudioLoop 类相关的资源,请使用:

new Image(display, AudioLoop.class.getResourceAsStream("Image.png"))

另请注意,您的方法和变量名称目前不符合 Java 命名约定,它们通常都是 camelCased

关于Java getResourceAsStream 静态解决方法。正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21438138/

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