解释我请问如何在下面的情况下进行导入课程。 我有两个java文件(这是示例)。第一:
package com.mypackage.task
public class TaskF7 {
public static void main(String[] args) {
}
}
class Database {
}
class Employee {
}
第二档:
package com.mypackage.test
import com.mypackage.task.TaskF7.*; // import does not work
import com.mypackage.task.TaskF7.Employee; // import does not work
public class TestF7 {
public static void main(String[] args) {
testTask();
}
// so, my IDEA mark as red <Employee> below
public static void testTask(List<Employee> expected, List<Employee> actual> ) {
if (Arrays.deepEquals(expected.toArray(), actual.toArray())) {
System.out.println("passed");
} else {
System.out.println("failed: expected " + expected + ", actual " + actual);
}
}
类Employee具有包访问权限。
请注意:在任务写入中:&#34;将所有解决方案类放在一个文件中(而不是内部类)。 &#34;不是内部类
答案 0 :(得分:1)
您无法访问包外的包访问权限的类。您可以将Employee类更改为public或更改my.package.test的包
答案 1 :(得分:0)
您可以通过将其设为“内部类”来访问它,但您应该将其公开
public class TaskF7 {
public class Employee {
}
public static void main(String[] args) {
}
}
public class TaskF7{
public static void testTask(List<TaskF7.Employee> expected,
List<TaskF7.Employee> actual ) {
if (Arrays.deepEquals(expected.toArray(), actual.toArray())) {
System.out.println("passed");
} else {
System.out.println("failed: expected " + expected + ", actual " +
actual);
}
}
}
现在你的IntellijIDEA不会给出任何红色标志下划线错误:)
答案 2 :(得分:0)
我这样解决: 1。
public static void testTask(Object expected, Object actual> ) {
if (expected.equals(actual)) {
System.out.println("passed");
} else {
System.out.println("failed: expected " + expected + ", actual " + actual);
}
2
Class Employee {
@Override
equals(){
}
@Override
hashCode(){
}
}