Java 有没有办法摆脱我正在获取的这个空指针异常?
以下代码显示空指针异常Java 有没有办法摆脱我正在获取的这个空指针异常?,java,exception,error-handling,tooltip,Java,Exception,Error Handling,Tooltip,以下代码显示空指针异常 private void _settooltip() { localXYLineAndShapeRenderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { //String to
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;
}
});
}
我有点不对劲
公共字符串生成器OLTIP(XYDataset数据集、int系列、int项)
有人能告诉我如何处理这个空指针异常吗?我只能猜测
localxylineandshaperender
是空的。请向我们展示一个初始化此变量(如果存在)的代码 基于此:
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();
不检查段
是否为空
实际上,if语句中的代码毫无意义,因为您对方法调用的返回值不做任何处理。此错误可能与“segment”有关,您可以像这样尝试sthg
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跟踪,我们可以提供更好的帮助。private DynUnitSplinerenderer localxylineandshaperender=new DynUnitSplinerenderer(50){@Override public void setCurrentSeriesUnit(int系列,字符串单位){super.setCurrentSeriesUnit(系列,单位);//若要更改生成的方法体,请选择工具|模板。_updateCurveUnitWhenUndererUnitChanged();};此代码不可读。请编辑您的帖子并在那里添加格式化代码。