小编RTA*_*RTA的帖子

将子类List转换为基类List

可能重复:
List<Dog>子类List<Animal>吗?为什么Java的泛型不是隐式多态的?

我有一个类的列表,它扩展了动物,并有一个以下类型的列表.

ArrayList<Animals> animal = new ArrayList<Animals>();
Run Code Online (Sandbox Code Playgroud)

现在我有另一个班,Puppy,它扩展了Dogs.

并有一个 List<Puppy> puppy = new ArrayList<Puppy>();

现在我想将列表转换animalpuppy.可以直接做吗?

我可以这样做.

for (Animals ani: animal){
     puppy.add((Puppy) ani)
}
Run Code Online (Sandbox Code Playgroud)

但我想要一个直接的铸造解决方案.可能吗?

java

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

这里会创建多少个String对象?

String x = new String("xyz");
String y = "abc"; 
x = x + y; 
Run Code Online (Sandbox Code Playgroud)

String在此代码中将创建多少个对象?

java string

5
推荐指数
3
解决办法
1393
查看次数

在eclipse编辑器中覆盖关闭动作

我有一个eclipse rcp应用程序,我在其中创建了一个扩展EditorPart的编辑器.

我想在其close()编辑器操作中执行一些发布资源工作,因此我想覆盖其关闭操作或在关闭事件之前刚刚采取行动的任何方法.

我曾经尝试过dispose()但是要迟到了.

或者是否有任何特定的听众倾听近似事件.

我希望有这样的:

@override
public void close()
{
  //do something resource release related task.
}
Run Code Online (Sandbox Code Playgroud)

更新:基本上我想拦截编辑器的关闭事件.

java swt jface editor eclipse-rcp

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

当前线程不是所有者异常

在我的应用程序中,我正在使用运行批处理文件的代码,在执行它时我收到一个异常,即当前线程不是所有者。这里要提一下,我的应用是基于eclipse插件开发的。以下是我的代码,请查看并找出问题以帮助我..

/*.......any code.........*/
try
{
    Runtime runtime = Runtime.getRuntime();
    String cmd = new String(C:\\abc.bat);
    process = runtime.exec("\"" + cmd + "\"");

    process.wait();

}
catch (Exception e)
{
    e.printStackTrace();
}

/***********any code**************/
Run Code Online (Sandbox Code Playgroud)

java multithreading runtime

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

SWT应用程序:Java堆空间:java.lang.OutOfMemory

我有一个SWT应用程序接受java类型的项目,并对所有文件做一些解析机制,它工作正常,但在大型项目中有大量的文件,它开始生成错误:

Java堆空间:java.lang.OutOfMemory

并终止解析.我怎么能通过java编程来处理它,而不是猜测用户的机器配置.

注意:直到现在我尝试了一种机制,我首先计算项目文件,如果它跨越MAX大小,我在这里取1000,在包含50个文件的文件夹块中划分项目并逐个解析它们但它也没有点击,我在一些文件夹解析后得到错误.

java eclipse swt heap-memory

2
推荐指数
1
解决办法
351
查看次数