0

我有包裹:

com.google.*.*.*

可能有很多子包。

我有一堂课foo.java

如何检查它是否在主包内com.google

当我使用Class.getPackage()时,它只提供这样的整个包: com.google.util.domain.sup

我必须真的使用像 : 之类的功能吗substring() , split()?还是有一种奇特的方法来检查它是否属于某些父包?

4

2 回答 2

7

Java 中的包不是分层的。com.google.foo与包无关com.google。因此,如果您的目标是检查一个类是否在一个包中,或者它的“子包”之一中,那么是的,字符串操作是您最好的选择。

于 2012-09-10T14:05:53.567 回答
5

你的意思是像...

if (getClass().getName().startsWith("com.google."))

如果您需要完全匹配,您可以使用

if (getClass().getPackage().getName().equals("com.google.util.domain.sup"))
于 2012-09-10T14:04:43.707 回答