无法从java.lang.Thread转换为entity.Thread

时间:2015-09-09 15:58:42

标签: java multithreading exception

我正在编写Web应用程序,并且在我的课程中有2个例外。

package entity;

public class Thread {
    ...
}

当我尝试使用此类的实例时,如

import entity.Thread;
...

    Thread thread = new Thread();
    thread.setContens(contens);
    thread.setTitle(title);
    dao.addThread(thread);

我收到编译错误,例如

  

在ThreadsDAO类型中的方法addThread(java.lang.Thread)中没有   适用于参数(entity.Thread)

  

输入mismatch。无法从java.lang.Thread转换为entity.Thread

我该如何解决?

2 个答案:

答案 0 :(得分:0)

在Java中,包命名空间很重要。具体来说,包java.lang总是包含在类路径中,因此该包中的所有类(例如java.lang.Thread)基本上都是"保留"班级名称。如上面的评论所指出,您需要更改Thread类的名称以避免冲突,或者您始终需要使用完全限定名称(entity.Thread)你想引用它。

作为风格和可读性的问题,最好避免使用与java.lang pacakge中的类名相同的类名;因此,最好为实体类找到更好的名称。

答案 1 :(得分:0)

请仔细检查您的dao课程。看起来你没有导入语句fot entity.Thread类。在这种情况下使用java.lang.Thread。