java 类参数_java – 作为函数参数的类

您可以使用Class类将类类型作为参数传递.请注意,它是通用类型.此外,instanceof运算符仅适用于引用类型,因此您必须将其翻转才能使其工作:

public static List getAllChildren(View v,Class> myClass) {

/* ... */

if (myClass.isInstance(v)) {

resultList.add(v);

}

/* ... */

}

为了像这样传递Class类型,你可以简单地使用你想要的类的名称,并附加“.class”.例如,如果你想用Button类调用这个方法,你会这样做:

getAllChildren(view,Button.class);

或者,如果你有一个你想要的类的实例,你将使用getClass()方法:

Button b = new Button();

getAllChildren(view,b.getClass());

正如Evan LaHurd在评论中提到的那样,isInstance()将检查这两个类是否与赋值兼容,因此它们可能不是完全相同的类.如果你想确保它们是完全相同的类,你可以检查它们是否相同,如下所示:

myClass.equals(v.getClass());

要么

myClass == v.getClass();

正如bayou.io所指出的那样,在这种情况下也会起作用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以将对象作为函数参数传递。引用\[1\]中的代码示例展示了三种传递函数式接口的方式。第一种方式是传递接口的实现对象,第二种方式是传递接口的匿名内部,第三种方式是使用Lambda表达式。这些方式都可以将函数作为参数传递给函数式接口的方法。引用\[2\]中的代码示例展示了如何将Lambda表达式作为参数传递给函数。在这个例子中,testLambda()方法接受一个实现了Flyable接口的对象作为参数,并通过Lambda表达式实现了该接口的唯一一个抽象方法。引用\[3\]中的运行结果显示了成功传递Java对象作为函数参数的例子。所以,Java对象可以作为函数参数传递,并且可以使用Lambda表达式来实现接口的抽象方法。 #### 引用[.reference_title] - *1* [JAVA-函数式接口作为函数参数的用法-概念](https://blog.csdn.net/extremelove520/article/details/124261430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Java中将函数作为参数进行传递](https://blog.csdn.net/qq_44964202/article/details/114992507)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值