簡體   English   中英

空值時Identifier.parse崩潰

[英]Identifier.parse crashes when null value

基本上我有一個由三個參數定義的區域。 有時我可以指定兩個,有時我可以指定三個:

private void create_region(String UUID, String Major, String Minor) {
    region = new Region("my-beacon-region",
            Identifier.parse(UUID),
            Identifier.parse(Major),
            Identifier.parse(Minor));
}

例如,如果我將空字符串作為Minor傳遞,則程序崩潰。 我該如何解決? 如果我喜歡它,它會起作用。

region = new Region("my-beacon-region",
                Identifier.parse(UUID),
                Identifier.parse(Major),
                null);

謝謝!

您可以在java中為同一對象創建許多承包商,即嘗試創建僅包含兩個參數的承包商,然后將第三個參數初始化為null。 然后可以只傳遞前兩個參數來調用它

只需檢查一個值是否為null,如果是,則跳過對Identifier.parse(...)的調用:

private void create_region(String UUID, String Major, String Minor) {
  Identifier Id1 = null;
  Identifier Id2 = null;
  Identifier Id3 = null;

  if (UUID != null) {
    Id1 = Identifier.parse(UUID);
  }

  if (Major != null) {
    Id2 = Identifier.parse(Major);
  }

  if (Minor != null) {
    Id3 = Identifier.parse(Minor);
  }

  region = new Region("my-beacon-region",
        Id1,
        Id2,
        Id3);
}

暫無
暫無

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

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