我正在尝试从运行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中一样,你有:
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) 我有以下代码:
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?