【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):
再看看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循環:
現在,就應該改改啦,嘿嘿~~
給大家拜個年嘞——
愿大家接下來的日子:所走之路,皆暢行無礙;所到之處,皆春暖花開;所愛之人,皆相隨相伴。所求皆如愿,所行化坦途,祝大家新年快樂!
2020/1/27更新說明
A是最優方案,之前寫錯了,不好意思。
補充策略C,證實不如策略A。
另說,int+""的方式,基于字符串連接,效率不會很高。
總結
以上是生活随笔為你收集整理的【Java】如何较好地将int转化成String的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【面向对象】面向对象程序设计测试题10-
- 下一篇: 洛谷P5715、P5716、P5718、