标签: instantiation

JUnit TestCase对象实例化

是否使用新的(或不同的)TestCase对象实例来运行JUnit测试用例中的每个测试方法?或者一个实例重用于所有测试?

public class MyTest extends TestCase {
  public void testSomething() { ... }
  public void testSomethingElse() { ... }
}
Run Code Online (Sandbox Code Playgroud)

在运行此测试时,MyTest会创建多少个类实例?

如果可能,请提供指向我可以验证行为的文档或源代码的链接.

java junit instantiation testcase

9
推荐指数
2
解决办法
5513
查看次数

Java布尔包装器类如何实例化?

在java中,我可以编写这样的代码

Boolean b = true ;
Run Code Online (Sandbox Code Playgroud)

它会奏效.我现在有一个保持值为"true"的对象.

这是如何运作的?为什么我不必通过构造函数传递值?像这样:

Boolean b = new Boolean( true ) ;
Run Code Online (Sandbox Code Playgroud)

另外,我可以制作可以以类似方式实例化的自定义类吗?如果是这样的话叫什么?

这样我就可以这样做:

Foobar foobar = "Test" ; 
Run Code Online (Sandbox Code Playgroud)

因此有我自己的包装类.

谢谢

java autoboxing instantiation

9
推荐指数
1
解决办法
7913
查看次数

Java数组子字符串

如何创建/实例化一个数组,使其等于另一个数组的子字符串,其中子字符串的大小未知:

int n; //some number derived somewhere else

String[] grp = elements[i] to elements[i+n];
Run Code Online (Sandbox Code Playgroud)

java arrays select instantiation

9
推荐指数
2
解决办法
3万
查看次数

如何实例化对象的静态向量?

我有一个A类,它有一个静态的对象向量.对象属于B类

class A {
  public:
    static void InstantiateVector();
  private:
    static vector<B> vector_of_B;
}
Run Code Online (Sandbox Code Playgroud)

在函数InstantiateVector()中

for (i=0; i < 5; i++) {
  B b = B();
  vector<B>.push_back(b);
}
Run Code Online (Sandbox Code Playgroud)

但我使用visual studio 2008编译错误:未解析的外部符号......是否可以使用上述方法实例化静态向量?对于要创建的对象b,必须从输入文件中读取一些数据,并将其存储为b的成员变量

或者它是不可能的,只有简单的静态向量是可能的?我在某处读到要实例化静态向量,首先必须定义一个const int a [] = {1,2,3},然后将[]复制到向量中

c++ instantiation static-members

9
推荐指数
1
解决办法
3万
查看次数

获取模板类对象的地址会导致模板参数的完全实例化

我用g ++ 4.6和4.8编译了这段代码的错误.g ++ 4.2和4.4就可以了.这是一个bug还是一些新的语言功能?

template <typename T>
struct A { typedef typename T::value_type type; };

template <typename U>
struct B
{
  void bar () { }
  void foo ()
  {
    // OK
    this->bar ();

    // OK
    (*this).bar ();

    // Error in g++ 4.6-4.8 
    // leads to full instantiating of template arg "U"
    (&*this)->bar ();
  }
};

int main ()
{
  B< A<void> > b;
  b.foo ();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

g ++ inst.cc

inst.cc: In instantiation of ‘struct A<void>’:
inst.cc:20:5: …
Run Code Online (Sandbox Code Playgroud)

c++ gcc templates instantiation

9
推荐指数
1
解决办法
489
查看次数

实例和迭代.哪一个更好?

我想阅读文件并处理它们.每次迭代都处理一个文档.

哪种代码更好?

1.

BufferedReader br;
for(File f : files)
{
    br = new BufferedReader(......);
    ......
}
Run Code Online (Sandbox Code Playgroud)

2.

for(File f : files)
{
    BufferedReader br = new BufferedReader(......);
    ......
}
Run Code Online (Sandbox Code Playgroud)

我的观点是哪一个在空间和速度方面更有效率?

java iteration performance instantiation

9
推荐指数
3
解决办法
212
查看次数

Design-用于防止未分配对象的模式

我经常会收到一些关于"使用'new'表达式创建的未分配对象"的resharper警告.以下代码剪断将演示以下情况:

我正在使用一个帮助器类(Observer.cs)来监视来自另一个类(MonitoredClass.cs)的一些属性.当属性更改时,观察者类将更改的值写入另一个数据类(DataClass.cs).

剪切的简化代码:

MonitoredClass.cs:

public class MonitoredClass : INotifyPropertyChanged
{
   // simplified: in fact property calls OnPropertyChange(..)
   public string Property1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

DataClass.cs:

public class DataClass
{
   public string LastProperty1Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Observer.cs:

public class Observer
{
   private MonitoredClass _monitoredClass;
   private DataClass _dataClass;
   public Observer(MonitoredClass monitoredClass, DataClass dataClass)
   {
      _monitoredClass = monitoredClass;
      _dataClass = dataClass;
      _monitoredClass.PropertyChanged+=MonitoredClassPropertyChanged;
   }

   private void MonitoredClassPropertyChanged(..)
   {
      _dataClass.LastProperty1Value = _monitoredClass.Property1;
   }
}
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.

如果我现在使用上面的Observer类,如下所示: …

c# resharper design-patterns instantiation

9
推荐指数
1
解决办法
2423
查看次数

测试是否可以使用Activator实例化类类型而不实例化它

目前我有一个类类型,需要知道是否可以创建类.我会打电话Activator.CreateInstance(type);扔掉结果.

这似乎非常低效且有问题.

是否有另一种方法可以确认是否可以为当前应用程序实例化类类型?

作为应用程序启动的一部分,我需要进行此测试.确保尽早发现任何错误配置.如果我离开它直到需要类的实例,那么当没有人来修复它时可能会发生错误.

这就是我现在所做的.

        string className = string.Format("Package.{0}.{1}", pArg1, pArg2);
        Type classType = Type.GetType(className);
        if (classType == null)
        {
            throw new Exception(string.Format("Class not found: {0}", className));
        }

        try
        {
            // test creating an instance of the class.
            Activator.CreateInstance(classType);
        }
        catch (Exception e)
        {
            logger.error("Could not create {0} class.", classType);
        }
Run Code Online (Sandbox Code Playgroud)

.net c# reflector instantiation

9
推荐指数
1
解决办法
1743
查看次数

为什么要将对象分配给接口?

我曾多次听说过在实例化对象时你应该这样做:

"Interface"name = new"Class"();

例如,实现的类链表List:

List<String> name = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)

LinkedList 实现了许多接口,包括queue,deque等.上面的代码和之间有什么区别

LinkedList<String> name = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)

要么

Queue<String> name = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)

为什么必须两次指定类型; 这似乎是多余的,但oracledocs似乎并未提及它.

java oop interface class instantiation

9
推荐指数
1
解决办法
3886
查看次数

如何通过指定每个属性及其值来实例化TypeScript中的对象?

这是我content在服务中实例化一个新对象的片段:

const newContent = new Content(
     result.obj.name
     result.obj.user.firstName,
     result.obj._id,
     result.obj.user._id,
);
Run Code Online (Sandbox Code Playgroud)

问题是这种对象实例化方式依赖于content模型中属性的顺序.我想知道是否有办法通过将每个属性映射到我想要设置的值来实现,例如:

 const newContent = new Content(
     name: result.obj.name,
     user: result.obj.user.
     content_id: result.obj._id,
     user_id: result.obj.user._id,
 );
Run Code Online (Sandbox Code Playgroud)

syntax instantiation instance typescript

9
推荐指数
2
解决办法
2万
查看次数