首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java多类型方法参数?

Java多类型方法参数?
EN

Stack Overflow用户
提问于 2014-12-16 19:09:32
回答 7查看 15.4K关注 0票数 18

我想知道是否可以要求java方法参数是有限类型集中的任何类型。例如,我正在使用一个库,其中有两个(或更多)类型具有公共方法,但它们在类型层次结构中的最低公共祖先是Object。我这里的意思是:

代码语言:javascript
复制
   public interface A {
      void myMethod();
   }

   public interface B {
      void myMethod();
   }
...
   public void useMyMethod(A a) {
      // code duplication
   }

   public void useMyMethod(B b) {
      // code duplication
   }

我想避免代码重复。我的想法是这样的:

代码语言:javascript
复制
   public void useMyMethod(A|B obj){
      obj.myMethod();
   }

在java中已经有了类似类型的语法。例如:

代码语言:javascript
复制
  try{
     //fail
  } catch (IllegalArgumentException | IllegalStateException e){
     // use e safely here
  }

显然,这是不可能的。如何使用这种不可编辑的类型层次结构来实现设计良好的代码?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27503251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档