小编Sna*_*ybo的帖子

获取JAR文件的位置

我正在尝试从运行Runnable JAR文件获取该位置.我试过了

try {
    String path = new java.io.File(".").getCanonicalPath();
} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但那回归:

C:\Users\Kevin\Desktop/server/Server
Run Code Online (Sandbox Code Playgroud)

而JAR文件位于

C:\Users\Kevin\Desktop
Run Code Online (Sandbox Code Playgroud)

我也尝试过

return new file(Server.class.getProtectionDomain().getCodeSource().getLocation().getPath());
Run Code Online (Sandbox Code Playgroud)

但那回归:

C:\Users\Kevin\Desktop\server.jar/server/Server
Run Code Online (Sandbox Code Playgroud)

所以我基本上希望JAR文件的路径没有文件名而不是ClassPath.

这样做的任何方式?

java directory jar class path

13
推荐指数
2
解决办法
5万
查看次数

Lua自我引用

你是如何在自己的程序中获得变量的?

就像在Java中一样,你有:

private int a

public void sa(int a) { this.a = a}
public void ga() { return this.a }
Run Code Online (Sandbox Code Playgroud)

VB有'我'而C#有'这个'等.

但Lua相当于什么呢?这是正确的方向吗?

local a

function sa(a)
    self.a = a
end
Run Code Online (Sandbox Code Playgroud)

lua this self

6
推荐指数
2
解决办法
1万
查看次数

为什么这是一个未经检查的演员?以及如何解决它?

我有以下代码:

public final <T extends Component> T getComponent(Class<T> type) {
    Iterator<Component> it = components.iterator();

    while(it.hasNext()) {
        Component next = it.next();

        if(type.isAssignableFrom(next.getClass()))
            return (T)next; // Why is this an unchecked cast from Component to T?
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,return (T)next;是从Component到T.的未经检查的演员表.

我不确定为什么会这样,因为T必须扩展Component,它应该能够安全地将它转换为Component的任何子类,对吧?

如果我手动执行return (TestComponent)next;并将返回类型更改为TestComponent它工作正常,那么为什么它不适用于T?

java generics iterator

5
推荐指数
1
解决办法
1474
查看次数

标签 统计

java ×2

class ×1

directory ×1

generics ×1

iterator ×1

jar ×1

lua ×1

path ×1

self ×1

this ×1