以下代码显示空指针异常
private void _settooltip() {
localXYLineAndShapeRenderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
@Override
public String generateToolTip(XYDataset dataset, int series, int item) {
//String toolTip = getToolTipText();
// return toolTip;
CurveSegment segment = (CurveSegment) curveEncapsulator.getSegment(currentCurve);
if (segment != null) {
segment.getA();
segment.getB();
segment.getC();
}
double A = segment.getA();
double B = segment.getB();
double C = segment.getC();
String AA = String.valueOf(A);
String BB = String.valueOf(B);
String CC = String.valueOf(C);
return "A = " + AA + " B = " + BB + " C = " + CC;
}
});
}
我在
上遇到异常public String generateToolTip(XYDataset dataset,int series,int item)
有谁能告诉我如何处理这个空指针异常?
答案 0 :(得分:0)
我可以猜测localXYLineAndShapeRenderer
为空。请向我们展示一个初始化此变量的代码(如果存在)。
答案 1 :(得分:0)
基于此:
CurveSegment segment = (CurveSegment) curveEncapsulator.getSegment(currentCurve);
if (segment != null) {
segment.getA();
segment.getB();
segment.getC();
}
您希望segment
有时为空。
但是,你仍称这些:
double A = segment.getA();
double B = segment.getB();
double C = segment.getC();
不检查segment
是否为空。
实际上,if语句中的代码没有意义,因为对方法调用的返回值没有任何作用。
答案 2 :(得分:0)
此错误可以是“段”,您可以尝试这样的;
double A = 0;
double B = 0;
double C = 0;
String AA = "";
String BB = "";
String CC = "";
if (segment != null) {
A = segment.getA();
B = segment.getB();
C = segment.getC();
AA = String.valueOf(A);
BB = String.valueOf(B);
CC = String.valueOf(C);
}
如果你分享stck trace,我们可以提供更好的帮助。