方法 3
第三種方法使用java.text包中的 MessageFormat 類:
import java.text.*;
public class format3 {
public static void main(String args[]) {
MessageFormat fmt = new MessageFormat("The square of {0} is {1}\n");
Object values[] = new Object[2];
int n = 5;
values[0] = new Integer(n);
values[1] = new Integer(n * n);
final int COUNT = 25000;
for (int i = 1; i <= COUNT; i++) {
String s = fmt.format(values);
System.out.print(s);
}
}
}
這些程序產(chǎn)生同樣的輸出。運(yùn)行時(shí)間是:
format1 1.3 format2 1.8 format3 7.8
或者說最慢的和最快的大約是6比1。如果格式?jīng)]有預(yù)編譯第三種方法將更慢,使用靜態(tài)的方法代替:
方法 4
MessageFormat.format(String, Object[])
import java.text.*;
public class format4 {
public static void main(String args[]) {
String fmt = "The square of {0} is {1}\n";
Object values[] = new Object[2];
int n = 5;
values[0] = new Integer(n);
values[1] = new Integer(n * n);
final int COUNT = 25000;
for (int i = 1; i <= COUNT; i++) {
String s = MessageFormat.format(fmt, values);
System.out.print(s);
}
}
}
這比前一個(gè)例子多花費(fèi)1/3的時(shí)間。
第三個(gè)方法比前兩種方法慢很多的事實(shí)并不意味著你不應(yīng)該使用它,而是你要意識(shí)到時(shí)間上的開銷。
在國際化的情況下信息格式化是很重要的,關(guān)心這個(gè)問題的應(yīng)用程序通常從一個(gè)綁定的資源中讀取格式然后使用它。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)Java經(jīng)典算法大全匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |