框架里有個(gè)方法(Object...params) params的參數(shù)類型分為String ,Integer和Double.后續(xù)一系列悲催代碼就是這樣形成的。
在這個(gè)方法里面,取得參數(shù)時(shí),得作類型轉(zhuǎn)換。所以必須按約定的順序轉(zhuǎn)換,比如順序是(String,Integer,Integer).取參很丑陋吧。
給這個(gè)方法傳參的時(shí)候,需要確定好類型,比如是從xml中讀取出這組參數(shù),那么就是個(gè)Sting[],類型,直接傳參,取參的時(shí)候會(huì)報(bào)錯(cuò)。所以投進(jìn)去的時(shí)候,必須以確定的類型。
以下這段代碼就是這么干的。
try{try{}}的作用就相當(dāng)于另一種形式的if了。很無(wú)奈,悲劇繼續(xù)重演。。。。。
在這個(gè)方法里面,取得參數(shù)時(shí),得作類型轉(zhuǎn)換。所以必須按約定的順序轉(zhuǎn)換,比如順序是(String,Integer,Integer).取參很丑陋吧。
給這個(gè)方法傳參的時(shí)候,需要確定好類型,比如是從xml中讀取出這組參數(shù),那么就是個(gè)Sting[],類型,直接傳參,取參的時(shí)候會(huì)報(bào)錯(cuò)。所以投進(jìn)去的時(shí)候,必須以確定的類型。
以下這段代碼就是這么干的。
import java.util.Arrays;
public class TestDoubleParse {
public static void main(String[] args) {
String[] strs = new String[] { "EMA", "14", "0.001" };
Object[] arg = new Object[3];
for (int i = 0; i < strs.length; i++) {
try {
int temp = Integer.parseInt(strs[i]);
arg[i] = temp;
} catch (NumberFormatException e) {
try {
double d = Double.parseDouble(strs[i]);
arg[i] = d;
} catch (NumberFormatException nfe) {
arg[i] = strs[i];
}
}
}
System.out.println(Arrays.toString(arg));
}
}
public class TestDoubleParse {
public static void main(String[] args) {
String[] strs = new String[] { "EMA", "14", "0.001" };
Object[] arg = new Object[3];
for (int i = 0; i < strs.length; i++) {
try {
int temp = Integer.parseInt(strs[i]);
arg[i] = temp;
} catch (NumberFormatException e) {
try {
double d = Double.parseDouble(strs[i]);
arg[i] = d;
} catch (NumberFormatException nfe) {
arg[i] = strs[i];
}
}
}
System.out.println(Arrays.toString(arg));
}
}
try{try{}}的作用就相當(dāng)于另一種形式的if了。很無(wú)奈,悲劇繼續(xù)重演。。。。。