gpt4 book ai didi

java - java 中的 Package.getPackage 返回 null

转载 作者:太空狗 更新时间:2023-10-29 22:45:36 25 4
gpt4 key购买 nike

我在 com.abc 包中有一些类 A、B、C

我在包 com.pqr 中有一个类 Main

现在我想为之前的包(abc)创建一个包对象。

为此我尝试过,

Package pkg = Package.getPackage("com.abc");   // This gives me null object in pkg

但是当我这样做的时候,

Package pkg = A.class.getPackage();    // It works fine

任何人都可以通知,为什么 Package.getPackage("package-name") 不起作用?

最佳答案

Package.getPackage 只有在当前的 ClassLoader 已经知道包的情况下才会返回一个非空值。试试这个:

Package pkg = Package.getPackage("com.abc");
System.out.println(pkg);
Class<A> a = A.class;
pkg = Package.getPackage("com.abc");
System.out.println(pkg);

第一个 System.out 将打印“null”,第二个将打印包名称,因为 ClassLoader 然后从中加载了一个类。

关于java - java 中的 Package.getPackage 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993418/

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