【问题标题】:How can I set global field in method如何在方法中设置全局字段
【发布时间】:2016-02-25 23:29:18
【问题描述】:

我有一些问题,所以我在课堂上有几个全局字段,对于每个字段我都想做相同的代码,但我不想重复代码 - 只需使用一种方法即可。我想在这个方法的参数中发送这些全局字段,作为第二个参数,我想为这个字段发送值。

我尝试了对象,泛型类型,但我不知道该怎么做。这是一个例子:

private void setName(String _name) {
    if(isNull(_name)) {
        this.name = "";
    } else {
        this.name = _name.toString();
    }
}

还有一些其他方法使用相同的代码,但带有其他字段和参数,我想做这样的事情:

private void setField(some_field, _value) {
    if(isNull(_value)) {
        this.some_field = "";
    } else {
        this.some_field = _value;
    }
}

有人可以帮忙吗?

例如,我有 2 个全局字段: 字符串名称,整数年龄。

对于他们,我需要使用相同的代码 (if),并且我想用一种方法来完成。在这种情况下,我必须使用全局字段作为参数,并作为第二个参数使用该字段的正确值,因此:

this.name = 参数; this.age=参数;

使用:globa_field_argument = 参数;

示例: setField(this.name, "Test"); setField(this.age, 5);

【问题讨论】:

    标签: object generics methods arguments


    【解决方案1】:

    首先,我可能会将您的全局字段声明为“公共静态”。 例如:

    public static int myNumber = 10;
    public static String myString = "foo";
    

    其次,您应该将字段作为参数传递,因为您可以在方法本身内部访问它们。

    当您在代码中的任何位置重新定义字段时,您将这样做:

    this.myNumber = newNumber;
    this.myString = newString;
    

    【讨论】:

    • 例如我有 2 个全局字段:字符串名称、整数年龄。对于他们,我需要使用相同的代码(如果),我想用一种方法来做。在这种情况下,我必须使用全局字段作为参数,并且第二个参数为此字段使用正确的值,因此:this.name = argument; this.age=参数;使用: globa_field_argument = 参数;示例:setField(this.name, "Test"); setField(this.age, 5);
    猜你喜欢
    • 2014-09-23
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多