gpt4 book ai didi

java - 在 Java/Android 中,我是通过 Intent 还是使用 getter/setter 传递值?

转载 作者:行者123 更新时间:2023-12-02 04:55:48 25 4
gpt4 key购买 nike

我读到,在创建的同一个类中使用该方法时,getter 和 setter 不适合 Android 编程。

但是如果在其他类中使用它会有什么负面影响吗?

我被告知不要使用许多静态变量,因此我正在寻找替代方案,并且使用 getter/setter 似乎比通过 Intent 传递值更容易混淆。

那么这样做的编码好吗?

最佳答案

为了解决最重要的部分:除非您确切知道自己在做什么,否则您不应该永远在 Android 中使用静态变量。否则,您将导致内存泄漏和其他一系列问题。

如果您想将数据传递到另一个Activity,您应该使用Intents

<小时/>

方法调用总是有额外的开销。直接访问字段总是会更快。但这并不意味着您应该完全放弃 getter 和 setter。

例如,看看这个类示例:

public class Example {

private String text;

public String getText() {
return text;
}

public void setText(String text) {
this.text = text;
}

public void doSomething() {
...
}
}

doSomething()内,您应该直接使用该字段。在那里调用 getter 和 setter 并不是一种可行的方法,因为每次调用时都需要额外的开销。

如果您在另一个类中使用 Example 类,如下所示,您应该使用 getter 和 setter 方法:

Example instance = new Example();
instance.setText("some text");
...
String text = instance.getText();

将字段公开并像 instance.text 一样直接访问它会很糟糕。

<小时/>

但是任何现代设备都具有如此强大的计算能力,方法调用产生的开销完全可以忽略不计。 The docs确实声明您应该避免在性能关键的地方使用 getter 和 setter,但该规则是从大多数 Android 手机具有 128 MB RAM 的时候开始的。您应该遵守我上面解释的规则的主要原因只有一件事:编码风格

您首先关心的应该始终是编写干净、可读且可维护的代码。

关于java - 在 Java/Android 中,我是通过 Intent 还是使用 getter/setter 传递值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28786737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com