【问题标题】:How to create a method with a parameter that can be any type of variable?如何创建一个参数可以是任何类型变量的方法?
【发布时间】:2014-06-18 13:29:42
【问题描述】:

如果这已经被问到,我很抱歉,但这是我的问题。我想创建一个函数,其中用户输入的参数可以是任何变量类型,类似于System.out.println()

话虽如此,我将如何创建该方法?

public static void example(String, int, double, etc.) {
    //Code here
}

【问题讨论】:

  • 是要重载还是改参数为Object
  • @user1587985 "var 无法解析为类型"
  • 你到底想在这里实现什么?可能的 XY 问题...
  • @ZoveGames 我应该做什么,对象做什么,如果对象意味着所有变量肯定。我对重载很熟悉,我不想这样做。
  • 好吧,把参数类型改成Object

标签: java function parameters


【解决方案1】:

您需要将所有方法参数类型更改为Object。

public void myMethod(Object o){
    // ...
}

请注意,为了访问o 作为某种类型的其他类,您需要首先测试它是否确实是具有if(o instanceof OtherClass) 的类,然后使用OtherClass o2=(OtherClass) o 进行转换。强制转换很昂贵(占用大量 CPU(用于简单操作)),但尽可能避免。如果您只需要o 的字符串表示形式,则只需调用o.toString()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 2012-03-10
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多