当前位置: 首页 > 知识库问答 >
问题:

获取Android中空字段的名称[重复]

储俊英
2023-03-14

我有一个包含大量成员的类,我想检查每个成员是否为null。我不想手动添加它,只要运行一个for循环(或类似的东西),每次添加一个字段时,它将遍历所有字段,而不需要“人工”添加。

到目前为止,我可以查看字段,并收到字段的名称(这是我所需要的)。然而,字段上并没有检查其值是否为null的内容。

以下是我目前掌握的情况:

private class Test {
    String name1 = null;
    String name2 = "test";
    String name3 = null;
}

Test mainTest = new Test();
   for (Field field : mainTest.getClass().getDeclaredFields()) {
        if (field.isValueNull())
            Log.i("test", field.getName() + " is missing ");
   }

field.isValueNull()-

在此示例中,打印将为:

缺少名称1

缺少名称3

共有1个答案

李法
2023-03-14

您可以使用对象的字段的get()方法:

   Test mainTest = new Test();
   for (Field field : mainTest.getClass().getDeclaredFields()) {
        if (field.get(mainTest) == null)
            Log.i("test", field.getName() + " is missing ");
   }

 类似资料:
  • 问题内容: 在Java中能否从实际字段中获取字符串中的字段名称?喜欢: PS:我 不是 在寻找字段的类/类名,也不是从String中的名称获取Field。 编辑:当我查看它时,我可能不需要一种获取字段名称的方法,该Field实例(来自字段的“代码名称”)就足够了。[例如] Java本身可能没有想要的东西。我将看一下ASM库,但最后我可能最终会使用字符串作为字段的标识符:/ EDIT2:我的英语不好

  • 我已经建立了一个字段声明列表,需要找出每个字段的名称: 我找不到任何检索字段名称的方法。 奇怪的是,其中一个构造函数确实接受一个字段参数,所以不确定为什么它没有getter。我需要从另一个节点获取它吗? FieldDeclaration(节点列表修饰符、类型、字符串名称)创建一个FieldDeclaration。https://www.javadoc.io/doc/com.github.javap

  • 问题内容: 我有一个来自遗留系统的悖论表,我需要对其进行单个查询。字段名称中包含空格-即“街道1”。当我尝试在delphi中仅对“街道1”字段制定查询时,出现错误- 关键字使用无效。令牌:1,行号:1 Delphi V7-对象Pascal,标准Tquery对象名称query1。 问题答案: 您需要在查询中为字符串加上表名的前缀。 例如:字段名称为“ Street 1”,表称为客户,选择为:

  • 问题内容: 我正在一个没有架构的项目中,我必须手动解析xml响应。我的问题是我无法使用xml注释获得一些价值。 例如,xml类似于: Java类是: 我可以获取操作和响应,但不能在responsedata中获取数字,有人可以告诉我如何处理using注释吗?太感谢了! 另一个问题是:我的响应数据中有多个…。如何获取Java代码中的所有值。 ->我解决了多个相同的标签,只需设置List,注释将自动生成

  • 问题内容: 如何获取Android设备名称?我正在使用HTC的愿望。当我通过HTC Sync将其连接时,软件将显示名称 “ HTC Smith” 。我想通过代码获取此名称。 在Android中怎么可能? 问题答案: 为了获得Android设备名称,您只需要添加一行代码即可: 在这里找到:getting-android-device- name

  • 问题内容: 在这里打印“ Foo”的方式是什么?在此示例中,打印的是“字符串”。 http://play.golang.org/p/ZnK6PRwEPp 问题答案: 你要。上的方法将返回一个结构,该结构描述该字段,其中包括名称以及其他信息。 无法检索代表特定字段值的字段名,因为这是包含结构的属性。