Most visited

Recently visited

Added in API level 1

软件包

public class Package
extends Object implements AnnotatedElement

java.lang.Object
   ↳ java.lang.Package


软件包对象包含有关Java包的实现和规范的版本信息。 这个版本信息被检索并由加载类的ClassLoader实例提供。 通常,它存储在与类一起分发的清单中。

构成软件包的类集可能会实现特定的规范,如果是这样,规范标题,版本号和供应商字符串将标识该规范。 应用程序可以询问该软件包是否与特定版本兼容,详情请参阅isCompatibleWith方法。

规范版本号使用由句点“。”分隔的非负十进制整数组成的语法,例如“2.0”或“1.2.3.4.5.6.7”。 这允许可扩展数字用于表示主要版本,次要版本,微型版本等。 版本规范由以下正式语法描述:

SpecificationVersion:
Digits RefinedVersionopt

RefinedVersion:
. Digits
. Digits RefinedVersion

Digits:
Digit
Digits

Digit:
any character for which isDigit(char) returns true, e.g. 0, 1, 2, ...

实现标题,版本和供应商字符串标识实现并且可以方便地使用,以便在发生问题时能够准确报告涉及的软件包。 所有三个实现字符串的内容都是供应商特定的 实现版本字符串没有指定的语法,只能与期望的版本标识符进行比较。

在每个ClassLoader实例中,来自相同Java包的所有类都具有相同的Package对象。 静态方法允许通过名称或当前类加载器已知的所有包的集合来找到包。

也可以看看:

Summary

Public methods

<A extends Annotation> A getAnnotation(Class<A> annotationClass)
Annotation[] getAnnotations()

返回此元素上的所有注释。

<A extends Annotation> A[] getAnnotationsByType(Class<A> annotationClass)
<A extends Annotation> A getDeclaredAnnotation(Class<A> annotationClass)
Annotation[] getDeclaredAnnotations()

返回直接出现在此元素上的所有注释。

<A extends Annotation> A[] getDeclaredAnnotationsByType(Class<A> annotationClass)
String getImplementationTitle()

返回这个包的标题。

String getImplementationVendor()

返回提供此实现的组织,供应商或公司的名称。

String getImplementationVersion()

返回此实现的版本。

String getName()

返回这个包的名字。

static 软件包 getPackage(String name)

在调用者 ClassLoader实例中按名称查找包。

static Package[] getPackages()

获取当前已知的调用者的 ClassLoader实例的所有包。

String getSpecificationTitle()

返回这个包实现的规范的标题。

String getSpecificationVendor()

返回拥有并维护实现此包的类的规范的组织,供应商或公司的名称。

String getSpecificationVersion()

返回此包实现的规范的版本号。

int hashCode()

返回从包名称中计算出来的哈希码。

boolean isCompatibleWith(String desired)

将此软件包的规格版本与所需版本进行比较。

boolean isSealed(URL url)

如果此包与指定的代码源URL相关,则返回true。

boolean isSealed()

如果此包已密封,则返回true。

String toString()

返回此Package的字符串表示形式。

Inherited methods

From class java.lang.Object
From interface java.lang.reflect.AnnotatedElement

Public methods

getAnnotation

Added in API level 9
A getAnnotation (Class<A> annotationClass)

Parameters
annotationClass Class
Returns
A
Throws
NullPointerException

getAnnotations

Added in API level 1
Annotation[] getAnnotations ()

返回此元素上的所有注释。 (如果此元素没有注释,则返回长度为零的数组。)此方法的调用方可自由修改返回的数组; 它将不会影响返回给其他调用者的数组。

Returns
Annotation[] all annotations present on this element

getAnnotationsByType

Added in API level 24
A[] getAnnotationsByType (Class<A> annotationClass)

Parameters
annotationClass Class
Returns
A[]
Throws
NullPointerException

getDeclaredAnnotation

Added in API level 24
A getDeclaredAnnotation (Class<A> annotationClass)

Parameters
annotationClass Class
Returns
A
Throws
NullPointerException

getDeclaredAnnotations

Added in API level 1
Annotation[] getDeclaredAnnotations ()

返回直接出现在此元素上的所有注释。 与此接口中的其他方法不同,此方法会忽略继承的注释。 (如果此元素上没有注释,则返回长度为零的数组。)此方法的调用方可自由修改返回的数组; 它将不会影响返回给其他调用者的数组。

Returns
Annotation[] All annotations directly present on this element

getDeclaredAnnotationsByType

Added in API level 24
A[] getDeclaredAnnotationsByType (Class<A> annotationClass)

Parameters
annotationClass Class
Returns
A[]
Throws
NullPointerException

getImplementationTitle

Added in API level 1
String getImplementationTitle ()

返回这个包的标题。

Returns
String the title of the implementation, null is returned if it is not known.

getImplementationVendor

Added in API level 1
String getImplementationVendor ()

返回提供此实现的组织,供应商或公司的名称。

Returns
String the vendor that implemented this package..

getImplementationVersion

Added in API level 1
String getImplementationVersion ()

返回此实现的版本。 它由此实现的供应商分配的任何字符串构成,并且没有Java运行时指定或期望的任何特定语法。 可以将该包与该供应商用于该实现的其他包版本字符串进行比较来进行相等性比较。

Returns
String the version of the implementation, null is returned if it is not known.

getName

Added in API level 1
String getName ()

返回这个包的名字。

Returns
String The fully-qualified name of this package as defined in section 6.5.3 of The Java™ Language Specification, for example, java.lang

getPackage

Added in API level 1
软件包 getPackage (String name)

在调用者ClassLoader实例中按名称查找包。 调用者ClassLoader实例用于查找与指定类相对应的包实例。 如果调用者ClassLoader实例为空,则搜索由系统ClassLoader实例加载的一组包以查找指定的包。

仅当类加载器使用适当的属性创建包实例时,包才具有版本和规范的属性。 通常,这些属性在类别附带的清单中定义。

Parameters
name String: a package name, for example, java.lang.
Returns
软件包 the package of the requested name. It may be null if no package information is available from the archive or codebase.

getPackages

Added in API level 1
Package[] getPackages ()

获取当前已知的调用者的ClassLoader实例的所有包。 这些包对应于通过加载或访问按名称的类ClassLoader实例。 如果主叫方ClassLoader实例引导ClassLoader实例,它可表示为null在一些实现,只包对应于由引导类加载ClassLoader实例将被返回。

Returns
Package[] a new array of packages known to the callers ClassLoader instance. An zero length array is returned if none are known.

getSpecificationTitle

Added in API level 1
String getSpecificationTitle ()

返回这个包实现的规范的标题。

Returns
String the specification title, null is returned if it is not known.

getSpecificationVendor

Added in API level 1
String getSpecificationVendor ()

返回拥有并维护实现此包的类的规范的组织,供应商或公司的名称。

Returns
String the specification vendor, null is returned if it is not known.

getSpecificationVersion

Added in API level 1
String getSpecificationVersion ()

返回此包实现的规范的版本号。 该版本字符串必须是以“。”分隔的非负整数的十进制整数序列,并且可能具有前导零。 比较版本字符串时,比较最重要的数字。

Returns
String the specification version, null is returned if it is not known.

hashCode

Added in API level 1
int hashCode ()

返回从包名称中计算出来的哈希码。

Returns
int the hash code computed from the package name.

isCompatibleWith

Added in API level 1
boolean isCompatibleWith (String desired)

将此软件包的规格版本与所需版本进行比较。 如果此软件包规范版本号大于或等于所需的版本号,则返回true。

通过顺序比较所需字符串和规格字符串的相应组件来比较版本号。 每个组件都被转换为一个十进制整数并对值进行比较。 如果规格值大于期望值,则返回true。 如果该值更少,则返回false。 如果这些值相等,则跳过周期并比较下一对组件。

Parameters
desired String: the version string of the desired version.
Returns
boolean true if this package's version number is greater than or equal to the desired version number
Throws
NumberFormatException if the desired or current version is not of the correct dotted form.

isSealed

Added in API level 1
boolean isSealed (URL url)

如果此包与指定的代码源URL相关,则返回true。

Parameters
url URL: the code source url
Returns
boolean true if this package is sealed with respect to url

isSealed

Added in API level 1
boolean isSealed ()

如果此包已密封,则返回true。

Returns
boolean true if the package is sealed, false otherwise

toString

Added in API level 1
String toString ()

返回此Package的字符串表示形式。 它的值是字符串“包”和包名称。 如果定义了包标题,则会附加它。 如果软件包版本已定义,则附加。

Returns
String the string representation of the package.

Hooray!