2

我有一个简单的问题,但我很困惑所以问。这两种情况有什么区别。

1)

DataSet ds = getUsers();

2)

DataSet ds = new DataSet();
ds = getUsers();
4

2 回答 2

4

版本 (2) 创建一个新的 DataSet,然后将其交给垃圾收集。除此之外,它们是相同的。

于 2013-10-10T18:44:01.660 回答
4

在版本 1 中会发生以下情况:

  1. getUsers创建一个新DataSet对象。
  2. 引用存储在ds.

在版本 2 中会发生以下情况:

  1. 一个新DataSet对象被实例化,并且对它的引用存储在ds.
  2. getUsers创建一个不同 DataSet的对象。
  3. 对这个 new 的引用DataSet存储在ds.
  4. 旧的DataSet现在不再有任何变量引用它,并将被垃圾收集器拾取。
于 2013-10-10T18:47:49.720 回答