簡體   English   中英

一種聰明的方法來接受唯一對象的任意組合作為參數?

[英]Clever way for a method to accept any combination of unique objects as parameters?

我有一個可以用StringRecordCriteria構造的類。 有什么方法允許方法簽名以任何順序接受這些參數(除了創建多個構造函數之外)? 這比什么都更是一個學術問題。

不, 語言規范沒有提到這種簡單的方法。

您總是可以自己傳遞Object並自己執行類型檢查,但這是錯誤的方法。

Java 不允許使用命名參數(在鏈接中繞着它)

一種選擇是創建一個保存並表示這三個參數的類,但是我只建議如果這三個參數以某種方式相關聯,從而在對象模型中具有邏輯意義。

您可以執行以下操作:

public class MyClass ()
{

  private String _str;
  private Record _rec;
  private Criteria _crit;

  public MyClass ()
  {
    _rec = null;
    _crit = null;
    _str = null;
  }

  public MyClass string (String str)
  {
    this._str = str;
    return this;
  }

  public MyClass record (Record rec)
  {
    this._rec = rec;
    return this;
  }

  public MyClass criteria (Criteria crit)
  {
    this._crit = crit;
    return this;
  }

  public static void getInstance ()
  {
    return new MyClass ();
  }

  public static void main (String[] args)
  {
     MyClass instance = MyClass.getInstance ().string("something").criteria(someCriteria).record(someRecord);
  }
}

暫無
暫無

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

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