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

测试对象是否为参数类型的实例

淳于健
2023-03-14
问题内容

有没有办法确定对象是否是泛型类型的实例?

public <T> test(Object obj) {
    if (obj instanceof T) {
        ...
    }
}

这显然行不通。还有其他选择吗?就像我想使用Java反射来实例化一个类,然后检查以确保它是通用类型T


问题答案:

进行此检查的唯一方法是,是否具有Class表示类型的对象:

Class<T> type; //maybe passed into the method
if ( type.isInstance(obj) ) {
   //...
}


 类似资料:
  • 问题内容: 我对Python 3中的和类有些困惑。也许有人可以消除我的困惑或提供一些其他信息。 我目前的理解是,每个类(除外)都从称为的基类继承。但是每个类(包括)也是该类的一个实例,它是自身的实例,并且也从继承。 我的问题是: 是否有一个原因/设计决策,为什么是的实例并从中继承?对象的/ class是否也可以是对象本身? 类()如何成为其自身的实例? 哪一个是真正的基类或? 我一直认为这将是最“

  • 问题内容: 有没有一种好的方法来检查对象o是否是内置的Python函数? 我知道我可以使用,例如 因为type(pow)是’builtin_function_or_method’。 但是有更好的方法吗? 问题答案: 类型模块: 不过,如果您仔细观察,就会发现它与您现在所做的没有什么不同。 因此,根据您的情况使用

  • 我对JUnit测试非常陌生,我试图理解如何测试类的实例化。 假设我有以下类,它需要一个来实例化。当然,这个玩具列表是在程序的另一部分上创建的,但是我不太清楚应该在哪里创建它,以便对进行单元测试。 应该是这样吗? 基本上,我的问题是应该在哪里以及如何创建测试依赖于创建的列表的类所需的arraylist对象。

  • 问题内容: 这可能以前曾被问过,但是快速搜索只提出了询问C#的相同问题。看这里。 我基本上想做的是检查给定对象是否实现了给定接口。 我有点想出了一个解决方案,但这不足以在if或case语句中频繁使用它,我想知道Java是否没有内置解决方案。 编辑:好的,谢谢您的回答。特别是对于Damien Pollet和Noldorin,您让我重新考虑了设计,因此我不再测试接口。 问题答案: 该运营商确实在工作安

  • 来自标书§4.2.7http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0847r7.html#pathological-案例 它说: 这些更不可能是真正有用的代码。在此示例中,既不能转换为也不能转换为,因此这些函数甚至都不能使用普通成员语法调用。但是,您可以获取指向此类函数的指针并通过该指针调用它们。

  • 问题内容: 我知道,在Python中通常不赞成使用类型检查函数参数,但我认为这样做很有意义。 在我的项目中,我有一个抽象基类和一个子类,该子类具有更多功能,例如旋转,幅度变化等。数字的列表和元组也将返回True,因为我也有许多接受这些Coord类型作为参数的函数和方法。 。我已经设置了装饰器来检查这些方法的参数。这是一个简化的版本: 这个版本非常简单,仍然有一些错误。只是为了说明这一点。它的用法如