Tag: 初始化

ArrayList的初始化等同于数组的初始化

我知道你可以在实例化过程中初始化一个数组,如下所示: String[] names = new String[] {"Ryan", "Julie", "Bob"}; 有没有办法与ArrayList做同样的事情? 或者我必须单独添加内容与array.add() ?

我如何在C#中初始化一个空数组?

有没有可能创build一个空数组而不指定大小? 例如,我创build了: String[] a = new String[5]; 我们可以创build没有大小的上述string数组吗?

在PHP中初始化(空)数组的最佳方法

在某些其他语言(例如AS3)中,已经注意到,如果像这样做var foo = []而不是var foo = new Array() ,则由于对象创build和实例化的原因,初始化新数组会更快。 我不知道在PHP中是否有任何等价的东西? class Foo { private $arr = array(); // is there another / better way? }

在循环之前或循环中声明variables之间的区别?

我一直想知道,一般来说,在循环之前是否声明一个抛出variables,而不是在循环内部重复,会产生任何(性能)​​差异? Java中的一个(相当无意义的)例子: a)循环之前的声明: double intermediateResult; for(int i=0; i < 1000; i++){ intermediateResult = i; System.out.println(intermediateResult); } b)循环内声明(重复): for(int i=0; i < 1000; i++){ double intermediateResult = i; System.out.println(intermediateResult); } 哪一个更好, a或b ? 我怀疑重复的variables声明(例子b ) 在理论上造成了更多的开销,但是编译器足够聪明以至于无关紧要。 示例b具有更紧凑的优点,并将variables的范围限制在使用位置。 不过,我倾向于按照例子编码。 编辑:我特别感兴趣的Java案例。

如何根据C编程语言标准初始化一个结构体

我想初始化一个struct元素,在声明和初始化中分割。 这是我的: typedef struct MY_TYPE { boolean flag; short int value; double stuff; } MY_TYPE; void function(void) { MY_TYPE a; … a = { true, 15, 0.123 } } 这是按照C编程语言标准(C89,C90,C99,C11等)来声明和初始化MY_TYPE的局部variables的MY_TYPE吗? 还是有什么更好或至less有工作? 更新我结束了一个静态初始化元素,我根据我的需要设置每个子元素。

琐碎与标准的布局与POD

用通俗的话来说,平凡的types,标准的布局types和POD有什么区别? 具体来说,我想确定new T是否与任何模板参数T new T()不同。 我应该select哪种types的特征is_trivial , is_standard_layout和is_pod ? (作为一个侧面的问题,这些types的特性中的任何一个都可以在没有编译器的情况下实现?

在init和dealloc方法中有效使用访问器?

我已经从几个来源(stackoverflow.com,cocoa-dev,文档,博客等)了解到,在init和dealloc方法中使用访问器和设置(foo,setFoo :)是“错误的”。 我明白,如果你这样做的话,有一个遥远的可能性混淆了观察财产的其他物体。 ( 这里给出一个简单的例子) 不过,我不得不说,我不同意这种做法,原因如下: 新的Objective-C运行时(iPhone上的那个和10.5中的64位运行时)允许您声明属性而不声明相应的ivar。 例如,下面的类将在10.5或iPhone(设备,而不是模拟器)上编译得很好: @interface Foo : NSObject { } @property (retain) id someObject; @end @implementation Foo @synthesize someObject; @end 理解上面是一个完全有效的Objective-C类,比方说,我决定编写一个初始化程序,并为了内存pipe理的目的,使用dealloc方法(因为GC在iPhone上不可用)。 我读过的关于初始化和释放的所有东西都会导致我写下面两个方法: – (id) init { if (self = [super init]) { //initialize the value of someObject to nil [self setSomeObject:nil]; } return self; } – (void) dealloc { //setting someObject […]

什么是十字架初始化的迹象?

考虑下面的代码: #include <iostream> using namespace std; int main() { int x, y, i; cin >> x >> y >> i; switch(i) { case 1: // int r = x + y; — OK int r = 1; // Failed to Compile cout << r; break; case 2: r = x – y; cout << r; […]

memset()或值初始化零结构?

在Win32 API编程中,通常使用具有多个字段的C struct 。 通常只有其中的一些有意义的价值,所有其他的都必须被清除。 这可以通过两种方式来实现: STRUCT theStruct; memset( &theStruct, 0, sizeof( STRUCT ) ); 要么 STRUCT theStruct = {}; 第二个变种看起来更清洁 – 这是一个单线,它没有任何参数,可能错误input,导致错误被种植。 与第一个变体相比,它有什么缺点吗? 使用哪个变体,为什么?

如何强制应用程序范围的bean在应用程序启动时实例化?

我似乎无法find一种方法来强制应用程序范围的托pipebean在Web应用程序启动时被实例化或初始化。 看起来应用程序范围的bean在第一次访问bean的时候得到了延迟实例化,而不是在web应用程序启动的时候。 对于我的networking应用程序,当第一个用户第一次在Web应用程序中打开一个页面时会发生这种情况。 我想避免这种情况的原因是因为在我的应用程序范围的bean的初始化过程中发生了一些耗时的数据库操作。 它必须从持久性存储中检索一堆数据,然后caching一些以ListItem元素等forms经常显示给用户的数据。我不希望第一个用户连接时发生这种情况,因此造成很长的延误。 我的第一个想法是使用旧式ServletContextListener contextInitialized()方法,并从那里使用ELResolver手动请求我的托pipebean的实例(从而强制初始化发生)。 不幸的是,我不能在这个阶段使用ELResolver来触发初始化,因为ELResolver需要一个FacesContext,而FacesContext只在请求的生命周期中存在。 有谁知道一个替代方法来完成这个? 我正在使用MyFaces 1.2作为JSF实现,此时无法升级到2.x。