当前位置: 首页 > 面试题库 >

如何在不使用反射的情况下查看对象是否为数组?

孙鑫鹏
2023-03-14
问题内容

如何在Java中查看Object是否是不使用反射的数组?而且如何在不使用反射的情况下遍历所有项目?

我使用Google GWT,所以我不允许使用反射:(

我很想在不使用反射的情况下实现以下方法:

private boolean isArray(final Object obj) {
  //??..
}

private String toString(final Object arrayObject) {
  //??..
}

顺便说一句:我也不想使用JavaScript,这样我就可以在非GWT环境中使用它。


问题答案:

您可以使用 Class.isArray()

public static boolean isArray(Object obj)
{
    return obj!=null && obj.getClass().isArray();
}

这适用于对象和原始类型数组。

对于toString,请看一下Arrays.toString。您必须检查数组类型并调用适当的toString方法。



 类似资料:
  • 这个问题用泛型约束标记为重复,where T:struct和where T:class和旧标题,它是。所以我更新了标题,以便更好地表达我的问题。我想问的是,如何调用泛型方法并仅在参数不为null的情况下才使用该参数,而不使用装箱。 一些为链接问题解释的变通方法可以用来回答这个问题,但我仍然相信这是一个根本不同的问题。

  • 问题内容: 我想知道an 是否为空,但是没有使用方法。有没有办法知道它是否为空,而无需从中读取? 问题答案: 我想你在找。它不会告诉您它是否为空,但可以指示您是否要读取数据。

  • 我有一个具有两个属性的dynamoDB表: A: 主分区键 B: 主排序键 我想使用属性B查询这个表,因为我不知道A的值。可以这样做吗? 是否可以将B设为GSI(全局二级索引),如何使用B查询表,因为B已经是排序键。

  • 给定的类值: 我正在尝试使用创建该类的一个新实例: 如果是,我如何使用创建一个新的值对象,在这里我调用的? 谢谢

  • 问题内容: 我在线上看过很多教程,说您需要检查服务器是否通过HTTPS进行了安全连接。我的问题是,在我使用的某些服务器上,这是一个未定义的变量,导致错误。我可以检查是否应该定义另一个变量? 为了清楚起见,我目前正在使用以下代码来确定它是否为HTTPS连接: 问题答案: 即使未定义,这也应该始终有效 : 该代码与IIS兼容。 : 1)如果通过HTTPS协议查询脚本,则设置为非空值。 2)请注意,当将

  • 问题内容: 这是@Jimt在Go中编写的工作程序和控制器模式的一个很好的示例, ” 但是此代码也有一个问题:如果要在退出时删除工作通道,则会发生死锁。 如果您使用,下次控制器写入该命令将导致恐慌,因为go无法写入一个已关闭的通道。如果您使用某些互斥锁来保护它,则由于它不会从通道读取任何内容,并且将阻止写入,因此互斥锁将导致死锁。您还可以为频道提供更大的缓冲,以解决此问题,但这还不够。 因此,我认为