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

在Java中,如何确定字段是否为char[](char数组)类型?

桓瀚
2023-03-14

我正在通过反射动态实例化一个对象,方法是将字段名称与地图中类似的命名键进行匹配。其中一个字段是字符数组(char[]):

private char[] traceResponseStatus;

在plinko迭代器中,我为目标类上的类型编写了代码,例如。

Collection<Field> fields = EventUtil.getAllFields(MyClass.getClass()).values();
for (Field field : fields)
{
Object value = aMap.get(field.getName());
...
    else if (Date.class.equals(fieldClass))
    {

例如,其中field dClass将是Date

class MyClass
{
    private Date foo;

如果field dClass类型是char[],要测试的表达式是什么?

共有3个答案

雍骏俊
2023-03-14

你在找什么

else if (traceResponseStatus instanceof char[])
时修贤
2023-03-14

@bdean20的dupe建议是正确的,但具体(现在很明显)的解决方案是:

if(char[].class.equals(field.getType()))

测试代码:

import java.lang.reflect.Field;


public class Foo {

    char[] myChar;

    public static void main(String[] args) {
        for (Field field : Foo.class.getDeclaredFields()) {
            System.out.format("Name: %s%n", field.getName());
            System.out.format("\tType: %s%n", field.getType());
            System.out.format("\tGenericType: %s%n", field.getGenericType());
            if(char[].class.equals(field.getClass()))
            {
                System.out.println("Class match");
            }
            if(char[].class.equals(field.getType()))
            {
                System.out.println("Type match");
            }
        }
    }
}

输出:

Name: myChar
    Type: class [C
    GenericType: class [C
Type match
唐啸
2023-03-14

您需要使用的代码是:

(variableName instanceof char[])

instanceof是一个运算符,它返回一个布尔值,指示左侧的对象是否是右侧类型的实例,即对于变量instanceof object而言,除了null以外的所有内容都应返回true,在您的情况下,它将确定字段是否为字符数组。

 类似资料:
  • 我有一段代码,我想为一个char变量添加值97,但根据ASCII表,得到字母“b”的最终数字98,输出为205。 我的代码有什么问题? 谢谢你的帮助。

  • 问题内容: 我对此感到困惑,我需要一些新鲜的眼睛,我不确定为什么这段代码会这样做。 输出是直到最后一个数字(0xFC)返回-4为止的所有内容,我知道它是一个十六进制值,但是如果我对252的十进制值也一样,它也会给我一个负数。我希望这只是一个简单的解决方案,我看不到它。 提前谢谢。 问题答案: 字符串到char数组很简单 您能否再解释一下您要做什么? 更新 如果我理解您的新评论,则可以使用字节数组,

  • 问题内容: 有没有办法将a 变成a 或将一个字母变成a (例如如何将a 变成a 和a 变成an )?(如果可以,请链接到相关文档)。 我该如何找到在文档中才隐约知道的类似内容? 问题答案: 您可以通过确定可能涉及的类来查找文档。在这里,候选人是和。 您应该先熟悉以下内容: 原始包装 中的Java Collection框架 它还有助于通过教程更慢地介绍API。 处理字符串中的字符

  • 本文向大家介绍Django ORM 自定义 char 类型字段解析,包括了Django ORM 自定义 char 类型字段解析的使用技巧和注意事项,需要的朋友参考一下 用 CharField 定义的字段在数据库中存放为 verchar 类型 自定义 char 类型字段需要下面的代码: models.py: 执行命令更新到数据库 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐

  • 问题内容: 在练习Java时,我随机想到了这一点: 我以为会抛出错误,因为我们无法将数值添加到数学中的字母上,但是以下程序可以正确运行并打印 那怎么可能? 问题答案: 在Java中,是数字类型。当添加到时,您将到达下一个 unicode代码点 。如果是,下一个代码点是: 请注意,您无法使用,因为它会导致隐式变窄转换。您需要使用或代替。