Java 通过等级<&燃气轮机;cls作为方法参数?
我很难完成这个方法 我试图编写一个方法,让我的main传递两个参数:一个Talker对象实例和一个cls类对象,该类对象表示侦听器应该从中扩展以接收消息的类型。我对Java非常陌生,需要一些帮助 下面是该方法的代码:Java 通过等级<&燃气轮机;cls作为方法参数?,java,class,singleton,Java,Class,Singleton,我很难完成这个方法 我试图编写一个方法,让我的main传递两个参数:一个Talker对象实例和一个cls类对象,该类对象表示侦听器应该从中扩展以接收消息的类型。我对Java非常陌生,需要一些帮助 下面是该方法的代码: public void sMessage(Talker talker, Class<?> cls) { for ( Listener l : mParticipants) { if (cls.isAssignableFrom(cls.ge
public void sMessage(Talker talker, Class<?> cls) {
for ( Listener l : mParticipants)
{
if (cls.isAssignableFrom(cls.getSuperclass())) {
l.onMessageReceived(talker.getMessage());
}
}
}
没有真正遵循我到目前为止看到的例子。有什么建议吗?我不明白
cls
应该代表什么。但是,您应该得到如下信息:
singletonDemo.sMessage(demoTalker, SomeClass.class);
或:
请参考,cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。的isAssignableFrom
表示:
确定此类对象表示的类或接口是否相同
作为类或接口,或是类或接口的超类或超接口,由
指定的类参数
我不明白
cls
应该代表什么。但是,您应该得到如下信息:
singletonDemo.sMessage(demoTalker, SomeClass.class);
或:
请参考,cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。的isAssignableFrom
表示:
确定此类对象表示的类或接口是否相同
作为类或接口,或是类或接口的超类或超接口,由
指定的类参数
我不明白
cls
应该代表什么。但是,您应该得到如下信息:
singletonDemo.sMessage(demoTalker, SomeClass.class);
或:
请参考,cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。的isAssignableFrom
表示:
确定此类对象表示的类或接口是否相同
作为类或接口,或是类或接口的超类或超接口,由
指定的类参数
我不明白
cls
应该代表什么。但是,您应该得到如下信息:
singletonDemo.sMessage(demoTalker, SomeClass.class);
或:
请参考,cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。的isAssignableFrom
表示:
确定此类对象表示的类或接口是否相同
作为类或接口,或是类或接口的超类或超接口,由
指定的类参数
@BornToCode调用该方法是正确的,但您希望用该方法实现的功能仍然有点错误
cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。这是因为您不能接受父类并将其分配给子类。我相信您正在寻找的是一种检查侦听器是否扩展指定类的方法。您可以通过获取侦听器的类来实现这一点
cls.isAssignableFrom(l.getClass())
或者更简单地说
cls.isInstance(l)
@BornToCode调用该方法是正确的,但您希望用该方法实现的功能仍然有点错误
cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。这是因为您不能接受父类并将其分配给子类。我相信您正在寻找的是一种检查侦听器是否扩展指定类的方法。您可以通过获取侦听器的类来实现这一点
cls.isAssignableFrom(l.getClass())
或者更简单地说
cls.isInstance(l)
@BornToCode调用该方法是正确的,但您希望用该方法实现的功能仍然有点错误
cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。这是因为您不能接受父类并将其分配给子类。我相信您正在寻找的是一种检查侦听器是否扩展指定类的方法。您可以通过获取侦听器的类来实现这一点
cls.isAssignableFrom(l.getClass())
或者更简单地说
cls.isInstance(l)
@BornToCode调用该方法是正确的,但您希望用该方法实现的功能仍然有点错误
cls.isAssignableFrom(cls.getSuperclass())
将始终返回false。这是因为您不能接受父类并将其分配给子类。我相信您正在寻找的是一种检查侦听器是否扩展指定类的方法。您可以通过获取侦听器的类来实现这一点
cls.isAssignableFrom(l.getClass())
或者更简单地说
cls.isInstance(l)
啊,这就是我在oracle文档网站上找到的例子。我认为这是一个标准的命名约定/占位符,用于讨论中的类名。isAssignableFrom(Class cls)是的,所以你对这个调用的建议是正确的,现在我正在尝试解决这个方法本身。啊,就是我在oracle文档网站上找到的例子。我认为这是一个标准的命名约定/占位符,用于讨论中的类名。isAssignableFrom(Class cls)是的,所以你对这个调用的建议是正确的,现在我正在尝试解决这个方法本身。啊,就是我在oracle文档网站上找到的例子。我认为这是一个标准的命名约定/占位符,用于讨论中的类名。isAssignableFrom(Class cls)是的,所以你对这个调用的建议是正确的,现在我正在尝试解决这个方法本身。啊,就是我在oracle文档网站上找到的例子。我认为这是一个标准的命名约定/占位符,用于讨论中的类名。isAssignableFrom(CLASSCLS)是的,所以您对调用的建议是正确的,现在我正在尝试解决方法本身。