ЕСЛИ кто-то хочет сделать это с помощью интерфейса, введение
[dbo].[NEWDOC_Order]()
добивается цели. Вам, по-видимому, нужны все скобки, или это отклонит Ваш вход.
Примечание что есть разница между приведением к long
и приведением к Long
. Если вы приведете к long
(примитивное значение), тогда оно должно быть автоматически упаковано в Long
(ссылочный тип, который его обертывает).
В качестве альтернативы вы можете использовать new
, чтобы создать экземпляр Long
, инициализируя его значением int
.
Если у вас уже есть тип int как целое число, вы можете сделать это:
Integer y = 1;
long x = y.longValue();
У меня были большие проблемы с этим. Я просто хотел:
thisBill.IntervalCount = jPaidCountSpinner.getValue();
Где IntervalCount - это Long, а JSpinner был настроен на возвращение Long. В конце концов мне пришлось написать эту функцию:
public static final Long getLong(Object obj) throws IllegalArgumentException {
Long rv;
if((obj.getClass() == Integer.class) || (obj.getClass() == Long.class) || (obj.getClass() == Double.class)) {
rv = Long.parseLong(obj.toString());
}
else if((obj.getClass() == int.class) || (obj.getClass() == long.class) || (obj.getClass() == double.class)) {
rv = (Long) obj;
}
else if(obj.getClass() == String.class) {
rv = Long.parseLong(obj.toString());
}
else {
throw new IllegalArgumentException("getLong: type " + obj.getClass() + " = \"" + obj.toString() + "\" unaccounted for");
}
return rv;
}
, которая, похоже, помогает. Никакое простое литье, ни одно из вышеперечисленных решений не помогло мне. Очень неприятно.