簡體   English   中英

String.format查詢

[英]String.format query

我今天早些時候正在弄亂字符串和格式,並發現了一個奇怪的API。

通常當我格式化我使用的字符串時

String.format("mystr %s", 1);

或類似的東西。

現在,此類的實例化對象也可以訪問此靜態方法 下面的代碼顯示了靜態使用String.format並直接從對象使用format方法的結果。

@Test
public void test() {
    assertEquals("abc 123", String.format("abc %s", 123));
    assertEquals("abc 123", "abc".format("abc %s", 123));
    assertEquals("def 123", "abc".format("def %s", 123));
}

最后一個assertEquals()基本上覆蓋了第一個“abc”字符串,我希望看到格式的簽名。

我錯過了使用實例化對象中的靜態方法的一些時髦用法。 或者只是可見,因為靜態String.format()也是對String的實例化對象的訪問? 換句話說,API奇怪/錯誤。

所有靜態方法也可以在其類的實例上調用。

通常不建議使用此功能(許多工具跟蹤它),但這不是一個真正的錯誤。

靜態方法總是可以通過類實例(對象)訪問, String.format沒有什么特別之處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM