首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

實體類空指針異常:對象未實例化,需 new 或依賴注入賦值

     編輯:程式設計疑難解答

現象

調用 `btc.someMethod()` 拋 `NullPointerException`,截圖顯示 `btc` 為 `null`。

原因

聲明了引用變量 `Btc btc;`,但**未實例化**(`new Btc()`)或**未注入**(Spring `@Autowired`、手動 `setBtc()`)。

修正方式

  1. 手動 new:`Btc btc = new Btc();`(適用於普通類、無依賴)。
  2. Spring 注入:
@Service
public class MyService {
    @Autowired private Btc btc; // 需 Btc 掛 @Component/@Service/@Repository
    // 或構造器注入(推薦)
    private final Btc btc;
    public MyService(Btc btc) { this.btc = btc; }
}
  1. 工廠/Builder 模式**
Btc btc = BtcBuilder.create().withConfig(cfg).build();

調試技巧

  • 斷點查看 `btc` 是否為 `null`。
  • 啟用 IDE「Analyze → Inspect Code」檢查「Constant conditions & exceptions」提示。
  • 加入防禦性編程:`Objects.requireNonNull(btc, "btc 未初始化");`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved