Вчера у меня был отлично работающий код в точной форме:
int lastRecord = 1;
String key = String.format("%08d", Integer.toString(lastRecord));
Который дополнит его до 00000001.
Теперь я поднял его на ступеньку выше: twoKeyChar получает строку из таблицы, а lastRecord получает из таблицы целое число.
Как видите, концепция по существу та же самая — я конвертирую int в строку и пытаюсь дополнить ее нулями; однако на этот раз я получаю следующую ошибку:
java.util.IllegalFormatConversionException: d != java.lang.String
Код ниже:
String newPK = null;
String twoCharKey = getTwoCharKey(tablename);
if (twoCharKey != null) {
int lastRecord = getLastRecord(tablename);
lastRecord++;
//The println below outputs the correct values: "RU" and 11.
System.out.println("twocharkey:"+twoCharKey+"record:"+lastRecord+"<");
//Now just to make it RU00000011
newPK = String.format("%08d", Integer.toString(lastRecord));
newPK = twoCharKey.concat(newPK);
}
Я чувствую, что, должно быть, набрал что-то неправильно, потому что нет никаких причин для его поломки с тех пор, как в последний раз он работал. Любая помощь/подсказка приветствуется! Спасибо!