W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.lang.Package
public class Package
extends Object
implements AnnotatedElement
包對象包含有關(guān) Java 包的實現(xiàn)和規(guī)范的版本信息。 此版本信息由加載類的 ClassLoader 實例檢索并提供。 通常,它存儲在與類一起分發(fā)的清單中。
組成包的類集可以實現(xiàn)特定的規(guī)范,如果是這樣,規(guī)范標題、版本號和供應(yīng)商字符串標識該規(guī)范。 應(yīng)用程序可以詢問包是否與特定版本兼容,有關(guān)詳細信息,請參閱 isCompatibleWith 方法。
規(guī)范版本號使用由句點“.”分隔的非負十進制整數(shù)組成的語法,例如“2.0”或“1.2.3.4.5.6.7”。 這允許使用可擴展的數(shù)字來表示主要、次要、微型等版本。 版本規(guī)范由以下形式語法描述:
規(guī)格版本:
Digits RefinedVersionopt
精煉版:
. Digits
. Digits RefinedVersion
Digits:
Digit
Digits
Digit:
Character#isDigit 返回 true 的任何字符,例如 0, 1, 2, ...
實現(xiàn)標題、版本和供應(yīng)商字符串標識了一個實現(xiàn),并且可以方便地使用,以便在發(fā)生問題時準確報告所涉及的包。 所有三個實現(xiàn)字符串的內(nèi)容都是特定于供應(yīng)商的。 實現(xiàn)版本字符串沒有指定的語法,只應(yīng)與所需的版本標識符比較是否相等。
在每個 ClassLoader 實例中,來自同一個 java 包的所有類都具有相同的 Package 對象。 靜態(tài)方法允許通過名稱或當前類加載器已知的所有包的集合找到包。
修飾符和類型 | 方法 | 描述 |
---|---|---|
<A extends Annotation>A | getAnnotation(Class<A> annotationClass) | 如果存在這樣的注釋,則返回此元素的指定類型的注釋,否則返回 null。 |
Annotation[] | getAnnotations() | 返回此元素上存在的注釋。 |
<A extends Annotation>A[] | getAnnotationsByType(Class<A> annotationClass) | 返回與此元素關(guān)聯(lián)的注釋。 |
<A extends Annotation>A | getDeclaredAnnotation(Class<A> annotationClass) | 如果直接存在這樣的注釋,則返回此元素的指定類型的注釋,否則返回 null。 |
Annotation[] | getDeclaredAnnotations() | 返回此元素上直接存在的注釋。 |
<A extends Annotation>A[] | getDeclaredAnnotationsByType(Class<A> annotationClass) | 如果此類注釋直接存在或間接存在,則返回指定類型的此元素的注釋。 |
String | getImplementationTitle() | 返回此包的標題。 |
String | getImplementationVendor() | 返回提供此實現(xiàn)的組織、供應(yīng)商或公司的名稱。 |
String | getImplementationVersion() | 返回此實現(xiàn)的版本。 |
String | getName() | 返回此包的名稱。 |
static Package | getPackage(String name) | 在調(diào)用者 ClassLoader 實例中按名稱查找包。 |
static Package[] | getPackages() | 獲取調(diào)用者的 ClassLoader 實例當前已知的所有包。 |
String | getSpecificationTitle() | 返回此包實現(xiàn)的規(guī)范的標題。 |
String | getSpecificationVendor() | 返回擁有并維護實現(xiàn)此包的類規(guī)范的組織、供應(yīng)商或公司的名稱。 |
String | getSpecificationVersion() | 返回此包實現(xiàn)的規(guī)范的版本號。 |
int | hashCode() | 返回根據(jù)包名稱計算的哈希碼。 |
boolean | isAnnotationPresent(Class<? extends Annotation> annotationClass) | 如果此元素上存在指定類型的注釋,則返回 true,否則返回 false。 |
boolean | isCompatibleWith(String desired) | 將此包的規(guī)格版本與所需版本進行比較。 |
boolean | isSealed() | 如果此包已密封,則返回 true。 |
boolean | isSealed(URL url) | 如果此包相對于指定的代碼源 url 是密封的,則返回 true。 |
String | toString() | 返回此包的字符串表示形式。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
public String getName()
返回此包的名稱。
返回:
《The Java? Language Specification》第 6.5.3 節(jié)中定義的該包的完全限定名稱,例如 java.lang
public String getSpecificationTitle()
返回此包實現(xiàn)的規(guī)范的標題。
返回:
規(guī)范標題,如果不知道則返回null。
public String getSpecificationVersion()
返回此包實現(xiàn)的規(guī)范的版本號。 此版本字符串必須是由“.”分隔的非負十進制整數(shù)序列,并且可能有前導(dǎo)零。 當比較版本字符串時,比較最重要的數(shù)字。
返回:
規(guī)范版本,如果不知道則返回null。
public String getSpecificationVendor()
返回擁有并維護實現(xiàn)此包的類規(guī)范的組織、供應(yīng)商或公司的名稱。
返回:
規(guī)范供應(yīng)商,如果未知則返回 null。
public String getImplementationTitle()
返回此包的標題。
返回:
實現(xiàn)的標題,如果不知道則返回null。
public String getImplementationVersion()
返回此實現(xiàn)的版本。 它由此實現(xiàn)的供應(yīng)商分配的任何字符串組成,并且沒有 Java 運行時指定或期望的任何特定語法。 它可以與此供應(yīng)商為此包用于此實現(xiàn)的其他包版本字符串進行比較是否相等。
返回:
實現(xiàn)的版本,如果不知道則返回null。
public String getImplementationVendor()
返回提供此實現(xiàn)的組織、供應(yīng)商或公司的名稱。
返回:
實施此軟件包的供應(yīng)商。
public boolean isSealed()
如果此包已密封,則返回 true。
返回:
如果包裹是密封的,則為 true,否則為 false。
public boolean isSealed(URL url)
如果此包相對于指定的代碼源 url 是密封的,則返回 true。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
url | 代碼源地址 |
返回:
如果此包相對于 url 是密封的,則為 true
public boolean isCompatibleWith(String desired) throws NumberFormatException
將此包的規(guī)格版本與所需版本進行比較。 如果此包規(guī)范版本號大于或等于所需的版本號,則返回 true。
通過順序比較期望字符串和規(guī)范字符串的相應(yīng)組件來比較版本號。 每個組件都轉(zhuǎn)換為十進制整數(shù)并比較值。 如果規(guī)范值大于期望值,則返回 true。 如果值小于 false 則返回。 如果值相等,則跳過周期并比較下一對分量。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
desired | 所需版本的版本字符串。 |
返回:
如果此包的版本號大于或等于所需的版本號,則為 true
Throws:
Throw名稱 | Throw描述 |
---|---|
NumberFormatException | 如果所需或當前版本不是正確的虛線形式。 |
public static Package getPackage(String name)
在調(diào)用者 ClassLoader 實例中按名稱查找包。 調(diào)用者 ClassLoader 實例用于查找與命名類對應(yīng)的包實例。 如果調(diào)用者 ClassLoader 實例為空,則搜索由系統(tǒng) ClassLoader 實例加載的包集以查找命名包。
僅當類加載器創(chuàng)建具有適當屬性的包實例時,包才具有版本和規(guī)范的屬性。 通常,這些屬性在伴隨類的清單中定義。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
name | 包名,例如 java.lang。 |
返回:
請求名稱的包。 如果存檔或代碼庫中沒有可用的包信息,則它可能為 null。
public static Package[] getPackages()
獲取調(diào)用者的 ClassLoader 實例當前已知的所有包。 這些包對應(yīng)于通過該 ClassLoader 實例加載或按名稱可訪問的類。 如果調(diào)用者的ClassLoader實例是bootstrap ClassLoader實例,在某些實現(xiàn)中可能用null表示,則只會返回bootstrap ClassLoader實例加載的類對應(yīng)的包。
返回:
調(diào)用者 ClassLoader 實例已知的新包數(shù)組。 如果不知道,則返回零長度數(shù)組。
public int hashCode()
返回根據(jù)包名稱計算的哈希碼。
覆蓋:
類 Object 中的 hashCode
返回:
從包名稱計算的哈希碼。
public String toString()
返回此包的字符串表示形式。 它的值是字符串“package”和包名。 如果定義了包標題,則會附加它。 如果定義了包版本,則附加它。
覆蓋:
類 Object 中的 toString
返回:
包的字符串表示形式。
public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
從接口復(fù)制的描述:AnnotatedElement
如果存在這樣的注釋,則返回此元素的指定類型的注釋,否則返回 null。
指定者:
接口 AnnotatedElement 中的 getAnnotation
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
A | 要查詢并返回的注釋類型(如果存在) |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
annotationClass | 注解類型對應(yīng)的Class對象 |
返回:
此元素的指定注釋類型的注釋(如果存在于此元素上),否則為 null
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果給定的注釋類為空 |
public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
如果此元素上存在指定類型的注釋,則返回 true,否則返回 false。 此方法主要是為了方便訪問標記注釋而設(shè)計的。
該方法返回的真值等價于:getAnnotation(annotationClass) != null
默認方法的主體被指定為上面的代碼。
指定者:
接口 AnnotatedElement 中的 isAnnotationPresent
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
annotationClass | 注解類型對應(yīng)的Class對象 |
返回:
如果此元素上存在指定注釋類型的注釋,則為 true,否則為 false
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | if the given annotation class is null |
public <A extends Annotation> A[] getAnnotationsByType(Class<A> annotationClass)
從接口復(fù)制的描述:AnnotatedElement
返回與此元素關(guān)聯(lián)的注釋。 如果沒有與該元素關(guān)聯(lián)的注解,則返回值為長度為 0 的數(shù)組。該方法與 AnnotatedElement.getAnnotation(java.lang.Class) 的區(qū)別在于該方法檢測其參數(shù)是否為可重復(fù)的注解類型( JLS 9.6),如果是這樣,則嘗試通過“查看”容器注釋來查找該類型的一個或多個注釋。 該方法的調(diào)用者可以隨意修改返回的數(shù)組; 它不會影響返回給其他調(diào)用者的數(shù)組。
指定者:
接口 AnnotatedElement 中的 getAnnotationsByType
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
A | 要查詢并返回的注釋類型(如果存在) |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
annotationClass | 注解類型對應(yīng)的Class對象 |
返回:
如果與此元素相關(guān)聯(lián),則指定注釋類型的所有此元素的注釋,否則為長度為零的數(shù)組
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果給定的注釋類為空 |
public Annotation[] getAnnotations()
從接口復(fù)制的描述:AnnotatedElement
返回此元素上存在的注釋。 如果此元素上沒有注釋,則返回值為長度為 0 的數(shù)組。此方法的調(diào)用者可以自由修改返回的數(shù)組; 它不會影響返回給其他調(diào)用者的數(shù)組。
指定者:
接口 AnnotatedElement 中的 getAnnotations
返回:
此元素上存在的注釋
public <A extends Annotation> A getDeclaredAnnotation(Class<A> annotationClass)
從接口復(fù)制的描述:AnnotatedElement
如果直接存在這樣的注釋,則返回此元素的指定類型的注釋,否則返回 null。 此方法忽略繼承的注釋。 (如果此元素上沒有直接存在注釋,則返回 null。)
指定者:
接口 AnnotatedElement 中的 getDeclaredAnnotation
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
A | 要查詢并返回的注釋類型(如果直接存在) |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
annotationClass | 注解類型對應(yīng)的Class對象 |
返回:
如果直接存在于此元素上,則此元素的指定注釋類型的注釋,否則為 null
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果給定的注釋類為空 |
public <A extends Annotation> A[] getDeclaredAnnotationsByType(Class<A> annotationClass)
從接口復(fù)制的描述:AnnotatedElement
如果此類注釋直接存在或間接存在,則返回指定類型的此元素的注釋。 此方法忽略繼承的注釋。 如果此元素上沒有直接或間接存在指定的注解,則返回值為長度為 0 的數(shù)組。此方法與 AnnotatedElement.getDeclaredAnnotation(java.lang.Class) 的區(qū)別在于該方法檢測其參數(shù)是否為 可重復(fù)的注釋類型(JLS 9.6),如果是這樣,則嘗試通過“查看”容器注釋來查找該類型的一個或多個注釋(如果存在)。 該方法的調(diào)用者可以隨意修改返回的數(shù)組; 它不會影響返回給其他調(diào)用者的數(shù)組。
指定者:
接口 AnnotatedElement 中的 getDeclaredAnnotationsByType
類型參數(shù):
類型參數(shù)名稱 | 類型參數(shù)描述 |
---|---|
A | 如果直接或間接存在,則要查詢和返回的注釋類型 |
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
annotationClass | 注解類型對應(yīng)的Class對象 |
返回:
如果直接或間接存在于此元素上,則指定注釋類型的所有此元素的注釋,否則長度為零的數(shù)組
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果給定的注釋類為空 |
public Annotation[] getDeclaredAnnotations()
從接口復(fù)制的描述:AnnotatedElement
返回此元素上直接存在的注釋。 此方法忽略繼承的注釋。 如果此元素上沒有直接存在注釋,則返回值為長度為 0 的數(shù)組。此方法的調(diào)用者可以自由修改返回的數(shù)組; 它不會影響返回給其他調(diào)用者的數(shù)組。
指定者:
接口 AnnotatedElement 中的 getDeclaredAnnotations
返回:
直接出現(xiàn)在此元素上的注釋
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: