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

歡迎訪問 生活随笔!

生活随笔

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

java

【Java】如何较好地将int转化成String

發布時間:2025/3/15 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java】如何较好地将int转化成String 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

條條大路通羅馬,但每條路是不同的,與其等待,不若研究研究~~

問題來源

最近做了很多OJ題,對于Java基本類型的轉化,看似簡單,但對其要求也更高了,不免需要簡單加以研究,以便今后更好的食用~

兩套方案

我們有下面兩種解決方案:

策略A:
int i = 100;
Integer.toString(i);

策略B:
Integer i = 100;
i.toString();

策略C:
int i = 100;
String.valueOf(i);

哪一種比較好?

問題探究

如果大家用IDEA寫策略B的話,你就會發現Integer那里是黃色的,也就是說不是最佳方案。
IJ推薦我們用策略A,理由是什么呢?
我們看一下源碼(java.lang.Integer):

public static String toString(int i) {int size = stringSize(i);if (COMPACT_STRINGS) {byte[] buf = new byte[size];getChars(i, size, buf);return new String(buf, LATIN1);} else {byte[] buf = new byte[size * 2];StringUTF16.getChars(i, size, buf);return new String(buf, UTF16);} }

再看看toString()吧:

private final int value;public String toString() {return toString(value); }

我們恍然大悟:選擇策略B的話需要先生成一個Integer對象(自動裝箱),再調用其toString()方法,而其toString()還需要再調用toString(int i)方法,顯得多此一舉。

2020/1/27更新,補充一下策略C的源碼:

public static String valueOf(int i) {return Integer.toString(i); }

可以發現,String.valueOf()還是調用Integer.toString(int i)的,所以不如直接調用Integer.toString(int i)。

結論

A is better.


補幾句話:
之前我為了讓int變成String,寫過這樣的for循環:

for (Integer i = 0; i < num; i++) {String s = i.toString(); }

現在,就應該改改啦,嘿嘿~~

給大家拜個年嘞——
愿大家接下來的日子:所走之路,皆暢行無礙;所到之處,皆春暖花開;所愛之人,皆相隨相伴。所求皆如愿,所行化坦途,祝大家新年快樂!


2020/1/27更新說明
A是最優方案,之前寫錯了,不好意思。
補充策略C,證實不如策略A。
另說,int+""的方式,基于字符串連接,效率不會很高。

總結

以上是生活随笔為你收集整理的【Java】如何较好地将int转化成String的全部內容,希望文章能夠幫你解決所遇到的問題。

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