我有一個問題,在Java是由數字或字符串的YAML文件中讀取一個數組列表,它是爲八進制解釋的數字,如果它有一個領先0,沒有8-9位數字。java的閱讀數量,解釋爲八進制,想解釋爲字符串
是有沒有辦法強制Java讀取YAML字段作爲一個字符串?
代碼:
ArrayList recordrarray = (ArrayList) sect.get("recordnum");
if (recordrarray != null) {
recno = join (recordrarray, " ");
}
也曾嘗試:
Iterator<String> iter = recordrarray.iterator();
if (iter.hasNext()) recno = " " +String.valueOf(iter.next());
System.out.println(" this recnum:" + recno);
while (iter.hasNext()){
recno += ""+String.valueOf(iter.next()));
System.out.println(" done recnum:" + String.valueOf(iter.next()));
}
輸入是這樣的: 061456變爲25390個 061506變爲25414 061559 - > FINE
花一段時間來弄清楚它在做什麼,顯然這是java的常見問題,
想法? 感謝
編輯:使用jvyaml
YAML:
22:
country_code: ' '
description: ''
insection: 1
recordnum:
- 061264
type: misc
YAML加載:
import org.jvyaml.YAML;
Map structure = new HashMap();
structure = (Map) YAML.load(new FileReader(structurefn)); // load the structure file
你展示不解析字符串爲整數,因此不是您的問題在於代碼的代碼。 – 2010-05-03 12:44:31
除了從yaml加載並映射到「sect」哈希以外,其他任何地方的數據都不會被讀取。你能解釋一下你的意思嗎? – recursive9 2010-05-03 12:59:59
「061456更改爲25390」 - 代碼在哪裏發生? – polygenelubricants 2010-05-03 13:06:40