如何创建类似于C++模板类的Java类?

2022-09-02 05:33:34

如何在Java中编写等效的?

// C++ Code

template< class T >
class SomeClass
{
private:
  T data;

public:
  SomeClass()
  {
  }
  void set(T data_)
  {
    data = data_;
  }
};

答案 1
class SomeClass<T> {
  private T data;

  public SomeClass() {
  }

  public void set(T data_) {
    data = data_;
  }
}

您可能还想公开该类本身,但这几乎是Java的直译。

C++模板和 Java 泛型之间还有其他区别,但对于您的示例来说,这些都不是问题。


答案 2

您可以使用“泛型”在Java中执行此操作:

public class SomeClass<T> {
  private T data;

  public SomeClass() {
  }

  public void set(T data) {
    this.data = data;
  }
};

维基百科对Java中的泛型有很好的描述。


推荐