小编Dav*_*ave的帖子

为什么这个枚举代码是对静态字段的非法引用?

此代码将无法编译,因为存在对静态字段的非法引用.

public enum Foo {

  A,
  B;

  private Foo[] foos = new Foo[] { Foo.A };

}
Run Code Online (Sandbox Code Playgroud)

您是否应该能够从非静态字段初始化程序访问静态字段?例如:

public class Foo {

  static int A;

  private int[] foos = new int[] { Foo.A };

}
Run Code Online (Sandbox Code Playgroud)

编译好了.

注意,foos在第一个示例中编译静态会编译.

java enums

17
推荐指数
2
解决办法
5192
查看次数

抛出异常会导致分段错误

Collection CollectionFactory::createFromMap(const std::string& name,
        const DataMap& dm) const
{
    if (!Collection::isNameValid(name))
    {
        const std::string error = "invalid collection name";
        throw std::invalid_argument(error);
    }
    Collection c(name, dm);
    dm.initDataCollection(&c, true);
    return c;
}
Run Code Online (Sandbox Code Playgroud)

每当执行throw语句时,我都会遇到分段错误.这是Valgrind输出的原因.我不知道发生了什么.

==21124== Invalid read of size 1
==21124==    at 0x41D2190: parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*) (eh_personality.cc:62)
==21124==    by 0x41D24A9: __gxx_personality_v0 (eh_personality.cc:228)
==21124==    by 0x4200220: _Unwind_RaiseException (unwind.inc:109)
==21124==    by 0x41D2C9C: __cxa_throw (eh_throw.cc:75)
==21124==    by 0x4079BFB: corestore::CollectionFactory::createFromMap(std::string const&, corestore::DataMap const&) const (CollectionFactory.C:43)
==21124==    by 0x8188F86: CollectionFactoryTest::testCreateNewFromMap_InvalidName() (CollectionFactoryTest.C:91)
==21124==    by 0x81895D3: CppUnit::TestCaller<CollectionFactoryTest>::runTest() (TestCaller.h:166) …
Run Code Online (Sandbox Code Playgroud)

c++

7
推荐指数
1
解决办法
3847
查看次数

为什么打印Java数组会显示内存位置

int[] answer= new int[map.size()];  
HashMap<String, Integer> map = new HashMap<String, Integer>();  

for (int j=0; j<answer.length;j++){  
    int x=map.get(keys.get(j));  
    answer[j]=x;  
}  

return answer  
Run Code Online (Sandbox Code Playgroud)

当我在循环中x使用打印时System.out.println(x),我得到了值,1, 2, 3但是当我返回答案并打印出来时,我得到了[I@9826ac5.知道为什么吗?

java arrays

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

我应该始终通过 @Column 和 @Table 指定名称还是仅在必要时指定名称

这更多的是一个最佳实践的问题,希望能借鉴别人的经验。您是否建议始终使用 @Column(name=) 和 @Table(name=) 显式指定列和表的名称?我有点担心一些实施细节可能会改变。此外,指定它可能会提供一些针对重构代码的弹性。我还认为这可能会让代码更清晰地明确说明名称。另一方面,它使代码在许多不需要的地方变得更加冗长。

java jpa eclipselink

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

java继承

当我将此代码更改为Member m1 = new Member ();它完美无缺.为什么它不适用于超类参考?请有人解释一下吗?

public class Family {

String Surname = "Richard";
String Address = "No:10, High Street,Colombo";

}

public class Member extends Family{

String Name;
int age;

public void Details() {
    System.out.println("full Name ="+ Name +" "+ Surname);
    System.out.println("Age =" +age);
    System.out.println("Address =" + Address);
}

public static void main(String[] args) {
    Member m1 =  new Family ();

    m1.Name="Anne";
    m1.age=24;

    m1.Details();

}
Run Code Online (Sandbox Code Playgroud)

java inheritance constructor

0
推荐指数
1
解决办法
94
查看次数

标签 统计

java ×4

arrays ×1

c++ ×1

constructor ×1

eclipselink ×1

enums ×1

inheritance ×1

jpa ×1