Tag: 方法重载

Java:通用方法重载模糊

考虑下面的代码: public class Converter { public <K> MyContainer<K> pack(K key, String[] values) { return new MyContainer<>(key); } public MyContainer<IntWrapper> pack(int key, String[] values) { return new MyContainer<>(new IntWrapper(key)); } public static final class MyContainer<T> { public MyContainer(T object) { } } public static final class IntWrapper { public IntWrapper(int i) { } } public static […]

我的PHP函数应该接受一系列参数还是应该明确地请求参数?

在我正在开发的PHP Web应用程序中,我看到了以两种可能方式定义的函数。 方法1: function myfunc($arg1, $arg2, $arg3) 方法2: // where $array_params has the structure array('arg1'=>$val1, 'arg2'=>$val2, 'arg3'=>$val3) function myfunc($array_params) 我应该什么时候用另一种方法? 似乎如果系统要求不断变化,并且因此myfunc的参数数量不断变化,则方法1可能需要大量的维护。

为什么番石榴的ImmutableList有很多重载的()方法?

我只是在看番石榴的ImmutableList ,我注意到, of()方法超载了12次。 在我看来,他们所需要的只是: static <E> ImmutableList<E> of(); static <E> ImmutableList<E> of(E element); // not even necessary static <E> ImmutableList<E> of(E… elements); 有这么多类似的变化的原因是什么?

Java – 为什么没有返回types的方法重载?

我知道这是不可能的,但任何人都可以提供一个理论,为什么Javaselect不支持这个? 我在问,因为我刚刚遇到了一个我认为会很高兴的情况。

在Java中如何select两个同名的方法

我试图访问我所做的类中的方法,但由于它的名称和参数数量相似,所以我的IDE说这个方法是不明确的。 以下是这两种方法的模型: methodName(X, Y, Z) methodName(A, Y, Z) 我调用了这个方法,并为了testing的目的在第一个参数中传入了null值。 不幸的是我无法以任何方式重命名方法,改变参数的顺序或修改方法的结构。 有没有办法可以区分这两种方法?

用无限参数创build方法?

在C#中,你可以这样做: foo = string.Format("{0} {1} {2} {3} …", "aa", "bb", "cc" …); 这个方法Format()接受无限的参数,是第一个如何格式化string,其余的是要放入string的值。 今天我遇到了一个情况:我必须得到一组string并testing它们,然后我记得这个语言的function,但是我没有任何线索。 经过几次不成功的网页search之后,我意识到只要获得一个数组,这样做并不令我满意。 问:我如何制作一个接受无限参数的函数? 我该如何使用它?

如何使用reflection在.NET中调用重载的方法

有没有办法在.NET(2.0)中使用reflection调用一个重载的方法。 我有一个应用程序dynamic实例化派生自一个公共基类的类。 出于兼容的目的,这个基类包含两个同名的方法,一个带有参数,另外一个没有。 我需要通过Invoke方法调用无参数方法。 现在,我得到的只是一个错误,告诉我我试图调用一个模糊的方法。 是的,我只能将该对象作为我的基类的一个实例,并调用我需要的方法。 最终会发生,但现在,内部并发症是不会允许的。 任何帮助将是伟大的! 谢谢。

为什么WCF中不允许重载方法?

假设这是一个ServiceContract [ServiceContract] public interface MyService { [OperationContract] int Sum(int x, int y); [OperationContract] int Sum(double x, double y); } 在C#中允许方法重载,但是WCF不允许你重载operation contracts宿主程序在托pipe时会抛出InvalidOperationException

为什么编译器更喜欢一个int重载的可变char过载char?

码 public class TestOverload { public TestOverload(int i){System.out.println("Int");} public TestOverload(char… c){System.out.println("char");} public static void main(String[] args) { new TestOverload('a'); new TestOverload(65); } } 产量 Int Int 这是预期的行为? 如果是的话,那为什么? 我期待:char,Int 注意:我正在使用Java 8

如何在Python中使用方法重载?

我想在Python中实现方法重载: class A: def stackoverflow(self): print 'first method' def stackoverflow(self, i): print 'second method', i ob=A() ob.stackoverflow(2) 但输出是second method 2 ; 类似的: class A: def stackoverflow(self): print 'first method' def stackoverflow(self, i): print 'second method', i ob=A() ob.stackoverflow() 给 Traceback (most recent call last): File "my.py", line 9, in <module> ob.stackoverflow() TypeError: stackoverflow() takes exactly […]