java - (JAVA/KOTLIN)我可以“转换”一个字符串来调用一个现有的变量吗?像“varname”.getvariable?
问题描述
我可以使用字符串按名称调用现有变量或对象吗?这个问题有点抽象,但我正在寻找这样的东西。
例子
var number = 5
var getnumber = "number"
if (getnumber.(???) > 10)
{...}
or
if ("number".(???) > 10)
{...}```
解决方案
这是不可能的:在类级别,局部变量名根本不存在。
通常的解决方案是停止思考“python”或“javascript”,其中每个对象都是一种HashMap<String, Object>
,而思考 java.lang.
如果你只是无法摆脱 python/javascript 空间,或者问题从根本上归结为这个想法,那么,你有你的答案:
制作 aMap<String, Object>
而不是局部变量:
Map<String, Integer> map = new HashMap<>();
map.put("number", 5);
var getNumber = "number";
if (map.get(getNumber) > 10) { .... }
推荐阅读
- spring-boot - Spring Data Rest:使用 CURL 测试 deleteByName
- angular - 如何截断文本?
- android - RecyclerView OnClickListener 仅将逻辑应用于最终条目,仅此而已
- java - 如何通过点击最新文件查看备份文件列表?
- eclipse - Eclipse 未在 gradle 项目下显示 generateProto 任务
- spring-boot - 如何停止发布指标但仍可在 Spring Boot 千分尺中的 /metrics 下访问?
- three.js - 如何在three.js中使用3X3矩阵进行旋转
- python - 计算“pandas”中字符串和“groupby”分类变量的出现次数
- python - 拟合实验数据并获得2个参数
- javascript - 在 Datatable 上设置自动对焦 - $.focus() 不进行更改