欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android仿String的對象駐留示例分析

 更新時間:2015年12月12日 10:46:38   作者:lee0oo0  
這篇文章主要介紹了Android仿String的對象駐留,較為詳細(xì)的分析說明了對象駐留的概念及Android實現(xiàn)仿String對象駐留的相關(guān)技巧,需要的朋友可以參考下

本文實例分析了Android仿String的對象駐留。分享給大家供大家參考,具體如下:

String a = "abc";

String b = "abc";

a == b     true;

變量a和變量b是同一個值。這不只是說它倆的值是一樣的,而是說就是同一個字符串對象。用Java的話來說就是a==b的結(jié)果是true。然而這個只對字符串以及小的整型或者長整型有效。其它的對象是不會被駐留的,也就是說如果你創(chuàng)建了兩個對象而他們的值是相等的,但他們并不是同一個對象。這個問題有時候很討厭,尤其是當(dāng)你從某個持久化存儲中取出一個對象時。如果同一個對象你取了兩次,你當(dāng)然希望最終取出的是同一個對象,不過實際上你取出的是兩份拷貝。換句話說你其實希望的是取出的是存儲中那個對象在內(nèi)存里面的同一個拷貝。有些存儲層是會做這樣的處理的。比如說JPA的實現(xiàn)就是遵循這個模式的,而別的情況可能你就得自己去做緩存了。

如何讓自己的對象,也好似上面string一樣呢;使用下面這個類吧

import java.lang.ref.WeakReference;
import java.util.WeakHashMap;
class WeakPool<T> {
  private final WeakHashMap<T, WeakReference<T>> pool = new WeakHashMap<T, WeakReference<T>>();
  public T get(T object) {
    final T res;
    WeakReference<T> ref = pool.get(object);
    if (ref != null) {
      res = ref.get();
    } else {
      res = null;
    }
    return res;
  }
  public void put(T object) {
    pool.put(object, new WeakReference<T>(object));
  }
}

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

  • 安卓 獲取手機(jī)IP地址的實現(xiàn)代碼

    安卓 獲取手機(jī)IP地址的實現(xiàn)代碼

    本篇文章主要介紹 Android 4.0 獲取手機(jī)IP地址的方法,附有實現(xiàn)代碼,具有參考價值,希望對有需要的小伙伴有幫助
    2016-07-07
  • 加載頁面遮擋耗時操作任務(wù)頁面--第三方開源之AndroidProgressLayout

    加載頁面遮擋耗時操作任務(wù)頁面--第三方開源之AndroidProgressLayout

    AndroidProgressLayout實現(xiàn)為界面添加圓形進(jìn)度條。調(diào)用setprogress()方法顯示和隱藏進(jìn)度條,這篇文章主要介紹了加載頁面遮擋耗時操作任務(wù)頁面--第三方開源之AndroidProgressLayout的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • Android WorkManager使用以及源碼分析

    Android WorkManager使用以及源碼分析

    WorkManager 是適合用于持久性工作的推薦解決方案。如果工作始終要通過應(yīng)用重啟和系統(tǒng)重新啟動來調(diào)度,便是持久性的工作。本文主要介紹了Android WorkManager的使用,需要的可以參考一下
    2023-02-02
  • Android開發(fā)之AAR文件的生成與使用步驟

    Android開發(fā)之AAR文件的生成與使用步驟

    Android中的aar主要是針對于Android Library而言的,可以簡單的理解為是對Android Library的打包,這個包的格式為.aar,下面這篇文章主要給大家介紹了關(guān)于Android開發(fā)之AAR文件的生成與使用步驟的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • android 網(wǎng)絡(luò)請求庫volley方法詳解

    android 網(wǎng)絡(luò)請求庫volley方法詳解

    這篇文章主要介紹了android 網(wǎng)絡(luò)請求庫volley方法詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Android自定義videoview仿抖音界面

    Android自定義videoview仿抖音界面

    這篇文章主要為大家詳細(xì)介紹了Android自定義videoview仿抖音界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Android編程實現(xiàn)讀取手機(jī)聯(lián)系人、撥號、發(fā)送短信及長按菜單操作方法實例小結(jié)

    Android編程實現(xiàn)讀取手機(jī)聯(lián)系人、撥號、發(fā)送短信及長按菜單操作方法實例小結(jié)

    這篇文章主要介紹了Android編程實現(xiàn)讀取手機(jī)聯(lián)系人、撥號、發(fā)送短信及長按菜單操作方法,以完整實例形式總結(jié)分析了Android編程實現(xiàn)讀取手機(jī)聯(lián)系人、撥號、發(fā)送短信及長按菜單等操作的相關(guān)技巧,需要的朋友可以參考下
    2015-10-10
  • Android中一種巧妙的drawable.xml替代方案分享

    Android中一種巧妙的drawable.xml替代方案分享

    這篇文章主要給大家介紹了關(guān)于Android中一種巧妙的drawable.xml替代方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Android Dialog對話框?qū)嵗a講解

    Android Dialog對話框?qū)嵗a講解

    本文通過實例代碼給大家介紹了Android Dialog對話框的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • android利用handler實現(xiàn)倒計時功能

    android利用handler實現(xiàn)倒計時功能

    這篇文章主要為大家詳細(xì)介紹了android利用handler實現(xiàn)倒計時功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11

最新評論