java – 直接访问静态字段而不是调用静态getter方法,它更快吗?

我正在编写一个Android应用程序,我有一个类可以生成并维护一些偶尔可以更改的固定URL.我将它们全部保存在一个名为UrlUtils的类中:

public class UrlUtils {
  private static String sUrlBase = "http://google.com";

  /**
   * Called occasionally
   */
  public static void refreshUrlBases() {
        sUrlBase = "http://yahoo.com/" + new Random().nextInt();
  }

   public static String getUrlBase() {
        return sUrlBase;
   }
}

我必须在上面调用getUrlBase(),所以我考虑将sUrlBase公开并直接访问它.这种方法在性能方面会更好吗?

解决方法:

如果你不打算更频繁地更改你的网址,那么我会说你可以直接保持静态而不是getter / setter方法

public static String google_url = "http://google.com";
public static String yahoo_url  = "http://yahoo.com";

在保持静态方法时,可能会由于某些问题而移除静态setter值(重置为原始值).因此,在这种情况下,它将返回静态值的原始常量.

更新:

如果您要动态更新URL,那么静态方法将被证明是更好的选择.

    public static String sUrlBase = "http://google.com"; 

    public static String getsUrlBase() {
        return sUrlBase;
    }
    public static void setsUrlBase(String sUrlBase) {
        this.sUrlBase = sUrlBase;
    }
上一篇:java – 处理Volley中的错误(带期货)?


下一篇:java – 在Android中实现类似Spring的包扫描