如何将变量名称作为输出并输入 Java?
How can I get as an output the name of a variable and it's type in Java?
我有以下 class:
public class Example {
private String name;
private int year;
public Example() {
name = "Clifford the big red dog";
year = 2020;
}
public void showData() {
// ?????
}
}
想象一下,在主 class 中,我创建了前一个 class (Example
) 的对象并执行它的构造函数。然后我想执行 showData()
并且我想看到以下输出(给出这个例子):
String name Clifford the big red dog
int year 2020
主体看起来像这样:
public static void main () {
Example example = new Example();
example.showData();
}
有什么办法可以做到这一点吗?
按如下操作:
class Example {
private String name;
private int year;
public Example() {
name = "Clifford the big red dog";
year = 2020;
}
public void showData() {
System.out.println(name.getClass().getSimpleName() + " name " + name);
System.out.println(((Object) year).getClass().getSimpleName() + " year " + year);
}
}
public class Main {
public static void main(String[] args) {
Example example = new Example();
example.showData();
}
}
输出:
String name Clifford the big red dog
Integer year 2020
然而,由于 showData
是 class Example
的一个方法,它已经知道它的实例变量,你可以简单地这样做:
class Example {
private String name;
private int year;
public Example() {
name = "Clifford the big red dog";
year = 2020;
}
public void showData() {
System.out.println("String name " + name);
System.out.println("int year " + year);
}
}
public class Main {
public static void main(String[] args) {
Example example = new Example();
example.showData();
}
}
输出:
String name Clifford the big red dog
int year 2020
我有以下 class:
public class Example {
private String name;
private int year;
public Example() {
name = "Clifford the big red dog";
year = 2020;
}
public void showData() {
// ?????
}
}
想象一下,在主 class 中,我创建了前一个 class (Example
) 的对象并执行它的构造函数。然后我想执行 showData()
并且我想看到以下输出(给出这个例子):
String name Clifford the big red dog
int year 2020
主体看起来像这样:
public static void main () {
Example example = new Example();
example.showData();
}
有什么办法可以做到这一点吗?
按如下操作:
class Example {
private String name;
private int year;
public Example() {
name = "Clifford the big red dog";
year = 2020;
}
public void showData() {
System.out.println(name.getClass().getSimpleName() + " name " + name);
System.out.println(((Object) year).getClass().getSimpleName() + " year " + year);
}
}
public class Main {
public static void main(String[] args) {
Example example = new Example();
example.showData();
}
}
输出:
String name Clifford the big red dog
Integer year 2020
然而,由于 showData
是 class Example
的一个方法,它已经知道它的实例变量,你可以简单地这样做:
class Example {
private String name;
private int year;
public Example() {
name = "Clifford the big red dog";
year = 2020;
}
public void showData() {
System.out.println("String name " + name);
System.out.println("int year " + year);
}
}
public class Main {
public static void main(String[] args) {
Example example = new Example();
example.showData();
}
}
输出:
String name Clifford the big red dog
int year 2020