日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java x.length_Java中的length和length()

發布時間:2024/7/5 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java x.length_Java中的length和length() 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

紅顏莎娜

稍微簡化一下,您可以認為它是一種特殊情況,而不是普通類(有點像基元,但不是)。字符串和所有集合都是類,因此獲取大小,長度或類似內容的方法。我猜設計的原因是性能。如果他們今天創建了它,他們可能想出了一些類似數組支持的集合類。如果有人感興趣,下面是一小段代碼,以說明所生成代碼中兩者之間的區別,首先是源代碼:public class LengthTest {? public static void main(String[] args) {? ? int[] array = {12,1,4};? ? String string = "Hoo";? ? System.out.println(array.length);? ? System.out.println(string.length());? }}截斷javap -c在類上運行的字節代碼中不太重要的部分,最后兩行將得到以下結果:20: getstatic? ?#3; //Field java/lang/System.out:Ljava/io/PrintStream;23: aload_124: arraylength25: invokevirtual? ?#4; //Method java/io/PrintStream.println:(I)V28: getstatic? ?#3; //Field java/lang/System.out:Ljava/io/PrintStream;31: aload_232: invokevirtual? ?#5; //Method java/lang/String.length:()I35: invokevirtual? ?#4; //Method java/io/PrintStream.println:(I)V在第一種情況下(20-25),代碼僅向JVM請求數組的大小(在JNI中,這將是對GetArrayLength()的調用),而在String情況下(28-35),它需要執行以下操作:方法調用以獲取長度。在1990年代中期,如果沒有良好的JIT和功能,僅使用java.util.Vector(或類似的東西),而不是像一個類卻表現得并不快的語言構造,將完全喪失性能。他們當然可以將屬性掩蓋為方法調用并在編譯器中進行處理,但是我認為在不是真正類的東西上使用方法會更加令人困惑。

總結

以上是生活随笔為你收集整理的java x.length_Java中的length和length()的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。