1- long xValue = someValue;Java cast double to long exception
2- long yValue = someValue;
3- long otherTolalValue = (long) (xValue - yValue);
Эта строка кода дает мне следующее исключение:
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Long.
- Update:
кусок кода:
StackedBarChart<String,Number> sbc = new StackedBarChart<String,Number>();
XYChart.Series<String, Number> series = new XYChart.Series<String, Long>();
series.getData.add(new XYChart.Data<String, Number>("X1",150));
series.getData.add(new XYChart.Data<String, Number>("X2",50));
sbc.getData.add(series);
long dif = getDif(sbc);
long getDif(XYChart barChart){
XYChart.Series series = (XYChart.Series).getData().get(0);
// X1 at zero position i dont have to use iIterator now.
XYChart.Data<String, Long> seriesX1Data = series.getData().get(0);
XYChart.Data<String, Long> seriesX2Data = series.getData().get(1);
long x1Value = seriesX1Data.getYValue();
long x2Value = seriesX1Data.getYValue();
// line - 3 - exception on the next line
// -4- long value = (x1Value) - (x2Value);
long value = (long)(x1Value) - (long)(x2Value);
return value;
}
- После отладки я нашел это.
seriesX1Data,seriesX2Data
содержит двойные значения as the passed chart has Number type
но getYvalue() возвращает долго, поэтому программа аварии во время выполнения с тем исключением, но когда я бросил в линии, почему не выкидывала успех. Я думаю, что компилятор видит, что тип уже длинный!.
И что? В чем вопрос? – Matten
Каков тип 'someValue'? – Zutty
Проверьте стек. Исключение может быть возможно только в первой или второй строке, а не в последней. В самом деле, в последней строке типизация является избыточной. –