java - 将字段名称作为参数传递给Java中同一类中的方法
问题描述
public class ConstructorA {
private String FieldA, FieldB, FieldC;
public String Setter(String ArgAA, String ArgAB) {
this.ArgAA = ArgAB; //or ArgAA could include "this."
}
public String Getter(String ArgBA) {
return ArgBA;
}
ObjectA = new ConstructorA();
ObjectA.Setter(FieldA, "TextA");
ObjectA.Setter(FieldB, "TextB");
ObjectA.Setter(FieldC, "TextC");
System.out.printf("%s %s %s", ObjectA.Getter(FieldA), ObjectA.Getter(FieldB), ObjectA.Getter(FieldC));
我正在尝试创建通用的 setter 和 getter(mutator 和 accessor)方法,通过将字段的名称作为参数到方法对中。这部分是出于好奇,但也是为了减少对象有很多字段的情况下的样板代码,每个字段都有自己的 getter/setter。我正在制作的代码已在上面的代码片段中抽象出来,以显示我希望完成的工作。如果需要任何额外的细节或澄清,或者任何看起来模棱两可的东西,请不要犹豫。
我知道上面的代码相当荒谬,并且可能更像伪代码而不是 java,因为我认为上面的代码根本不起作用。但是有什么与上述类似的可能吗?我是 Java 新手,所以对它的特性和限制不是很熟悉。我知道使用指针在 C 中可能会发生类似的事情?
无论如何,对于冗长的文字感到抱歉,并在此先感谢!任何输入都是有价值的,非常感谢。
解决方案
不要这样做。
如果一个类有很多吸气剂,那么它的设计就很糟糕。
您本质上是将对象视为Map
值的名称。也许您的用例实际上是您需要Map
从名称到值?
推荐阅读
- r - 共享相同 y 轴的多个直方图上的密度曲线
- java - maven'spring-cloud-security 依赖在 jhipster 微服务中有什么作用?
- c# - C# 中的 CRC-CCITT 16 位计算
- go - 为什么当我有两个 go-routines 时没有执行循环中的代码
- standards - glmRob 命令给您的“标准错误”是否被认为是可靠的?
- rest - 如何将 text/xml 响应转换为 application/json wso2 EI
- bash - 使用 linux bash 脚本使用 SFTP 传输大文件
- typescript - 如何在 typescript react-native 项目中导入降价文件?
- android - android anr错误广播意图{act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010}
- javascript - bootstrap-validate:如何在 bootstrap4 中启用验证?