当前位置: 首页 > news >正文

郑州网站建设郑州安丘网站建设公司

郑州网站建设郑州,安丘网站建设公司,万荣网站建设,网页制作用什么软件比较好Kotlin反射访问androidx.collection.LruCache类私有变量 androidx.collection.LruCache类中定义了一个名为map的LinkedHashMap,map存储了所有LruCache的数据,有时候需要遍历访问该LinkedHashMap,取出里面的值,但是LruCache代码实…

Kotlin反射访问androidx.collection.LruCache类私有变量

androidx.collection.LruCache类中定义了一个名为map的LinkedHashMap,map存储了所有LruCache的数据,有时候需要遍历访问该LinkedHashMap,取出里面的值,但是LruCache代码实现中,map为private私有,且无get方法返回,所以需要通过反射访问。

502bcbecf2e743eab78324f5351c5749.png

 

比如:

import java.lang.reflect.Fieldfun main() {val myLruCache = make()val lruCache = myLruCache as LruCache<Any, Any>lruCache::class.members.forEach {//println("${it.name}")}//寻找LruCache类中名为 map 的private私有变量。var privateField: Field = LruCache::class.java.getDeclaredField("map")//改变private属性,变成可访问。privateField.setAccessible(true)var obj: Any? = privateField.get(lruCache)var map = obj as HashMap<Any, Any>println(map)
}fun make(): MyLruCache {var cache = MyLruCache(100)cache.put("year", 2023)cache.put(1, "fly")return cache
}class MyLruCache(size: Int) : LruCache<Any, Any>(size) {}

{year=2023, 1=fly}

 

 

Android官方的androidx.collection.LruCache源代码:

https://android.googlesource.com/platform/frameworks/support/+/f2e05c341382db64d127118a13451dcaa554b702/collection/collection/src/main/java/androidx/collection/LruCache.javahttps://android.googlesource.com/platform/frameworks/support/+/f2e05c341382db64d127118a13451dcaa554b702/collection/collection/src/main/java/androidx/collection/LruCache.java

 

 

 

Java反射类Class,反射方法Method以及反射变量Field_zhangphil的博客-CSDN博客Java反射类Class,反射方法Method以及反射变量Fieldimport com.orhanobut.logger.Logger;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.ArrayList;public class JavaActivity extends A...https://blog.csdn.net/zhangphil/article/details/80185335Java反射类private私有变量Map并赋值_zhangphil的博客-CSDN博客Java反射改变Android属性在某些情况下,Android体系里面的某些对象没有对外提供针对某个属性或者类,方法公开的get或者set方法,但是项目需要对这些需要修改和调整。就需要使用Java的反射机制修改Android的属性。Java反射类Class,反射方法Method以及反射变量Fieldimport com.orhanobut.logger.Logger;Java反射类Class,反射方法Method以及反射变量Field_zhangphil的博客-CSDN博客。https://blog.csdn.net/zhangphil/article/details/131935002

Java反射改变Android属性_zhangphil的博客-CSDN博客Java反射改变Android属性在某些情况下,Android体系里面的某些对象没有对外提供针对某个属性或者类,方法公开的get或者set方法,但是项目需要对这些需要修改和调整。就需要使用Java的反射机制修改Android的属性。举一个简单的例子,通过Java反射机制改变Android ListView分割线的高度值。Android的ListView本身有分割线,并对外提供了公开设置分割线高度的https://blog.csdn.net/zhangphil/article/details/80138465

 

http://www.yayakq.cn/news/585312/

相关文章:

  • 网站开发 高级认证做简历最好的网站
  • 怎么注册自己的网站搜索引擎seo关键词优化方法
  • 个人网站开发与实现开题报告企业服务中心组建方案
  • 什么网站可以查建筑工程项目网站html模板免费下载
  • 怎么做网站作业网站开发知识点总结
  • 制作一个景点介绍的网站htmlwordpress有中文版没
  • 南宁市城市建设档案馆网站在线作图免费网站
  • 宁波外贸公司网站建设wordpress3.7.1下载
  • 昆山建设局网站园区网站建设调研报告
  • 北京网站seo费用四平网站建设哪家效果好
  • 如何在免费网站上做推扩python新手代码
  • 兰州北山生态建设局网站做网站接口多少钱
  • xampp做网站wordpress 建的网站
  • 网站二维码弹窗快手自媒体平台注册
  • 培训类 网站后台wordpress中文版下载
  • 局域网建设网站工具网站制作怎样快速
  • 标题关键词优化技巧seo优化排名是什么
  • 美术类网站建设费用做职业装的网站
  • 重庆企业网站开发服务器临安市规划建设局网站
  • 建网站能多少带宽广州网站营销
  • 网站如何伪静态龙游县住房和城乡建设局网站
  • 做网络网站需要三证么文章类网站选什么内容
  • 怎么选择佛山网站设计哪类网站流量大
  • 中国做的很好的食品网站个人怎么做自媒体
  • 青海省制作网站专业电子商务网站建设成都
  • 搭建网站的流程莱芜东风街吧百度贴吧
  • 网站自己做余额充值自动扣款个人网站主页html5
  • 做问卷调查的网站有啥计算网站制作教程
  • 全国定制网站服务器云主机贵州省住房和城乡建设厅官方网站首页
  • 株洲网站建设费用php网站本地调试