簡體   English   中英

有沒有辦法擺脫我得到的這個空指針異常?

[英]Is there a way to get rid of this null pointer exception I am geting?

以下代碼顯示了空指針異常

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;



        }
    });
}

我正在例外

公共字符串generateToolTip(XYDataset數據集,int系列,int項)

誰能告訴我如何處理此空指針異常?

我只能猜測localXYLineAndShapeRenderer為null。 請給我們展示一個初始化該變量的代碼(如果存在)。

基於此:

        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語句中的代碼沒有任何意義,因為您對方法調用的返回值不做任何事情。

該錯誤可能與“段”有關,您可以像這樣嘗試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 trace,我們可以提供更好的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM