我应该如何迭代这样的对象表?
CREATE TYPE SOME_OBJECT AS OBJECT (
ATTR1 VARCHAR2(20)
, ATTR2 VARCHAR2(30)
);
/
CREATE TYPE C_SOME_OBJECT AS TABLE OF SOME_OBJECT;
/
Run Code Online (Sandbox Code Playgroud)
而且...我想将其用作过程的参数。必须在程序中初始化它吗?
PROCEDURE SOME_PROCEDURE(OBJECT IN C_SOME_OBJECT)
IS
BEGIN
--Some code here iterating IN parameter
END;
Run Code Online (Sandbox Code Playgroud) 我有主要课程
public class Main(){
public static void main(String[] args){
ArrayList<A> as = new ArrayList<>();
C c = new C();
D d = new D();
E e = new E();
as.add(c);
as.add(d);
as.add(e);
for(A a : as){
a.print(); // want to do it conditionally when Object inside list have extended class B
}
}
}
Run Code Online (Sandbox Code Playgroud)
方法print()从抽象类A扩展.类C和D扩展类B和B扩展A.
A
/ \
B E
/ \
C D
Run Code Online (Sandbox Code Playgroud)
我该怎么做这种方法?
尝试:
for(A a : as){
if(a.getClass().getSuperclass().getSimpleName().equals("B")){
a.print(); // Doesn't work a.getClass().getSuperclass().getSimpleName() prints A
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用一个类并使用它作为输入来调用这个类。
professor = new Professor(EEEE, AAAA, YEARS_90, DEP);
depProf.addProfessor(professor)
Run Code Online (Sandbox Code Playgroud)
教授有一个 (String, String, Integer, String) 的构造函数,但在测试中我想从另一个地方用(Professor)作为输入调用它。
public Professor(String name, String surname, Integer yearOfBirth, String department) {
this.department = department;
Person curPerson = new Person(name, surname, yearOfBirth);
}
Run Code Online (Sandbox Code Playgroud)
如何制作教授(教授)的构造函数?如果这有任何意义。
我正在考虑在调用第二个构造函数时调用第一个构造函数,但实际上不知道如何使其工作。