当前位置: 首页 > 知识库问答 >
问题:

是否有一种方法可以在同一方法中传递不同(但特定)类型的对象,并根据对象的类型有不同的处理方式

傅穆冉
2023-03-14

我必须编写一个方法,它将点击网页上的一个元素。问题是,我的方法中只能有两种类型的对象之一,即'WebElement'对象或'By'对象。因此,为了做到这一点,我必须为两个重载方法编写重复的代码行,如下所示:

    public void clickElement(WebElement element) {
        Line 1;
        Line 2;
        element.click();
        Line 3;
    }
    
    public void clickElement(By locator) {
        Line 1;
        Line 2;
        driver.findElement(locator).click();
        Line 3;
    }

是否可以只编写一个方法,它只能接受两种对象类型中的一种,并相应地进行操作?类似这样的事情:

public void clickElement(WebElement element **OR** By locator) {
        Line 1;
        Line 2;
        element.click; **OR** driver.findElement(locator).click();
        Line 3;
    }

Let me know if my question needs more clarification or inputs.

共有1个答案

黎承颜
2023-03-14

看看Java泛型,特别是泛型方法-https://docs.oracle.com/javase/tutorial/extra/generics/methods.html

 类似资料:
  • 问题内容: 我是android和java的初学者。我不明白什么时候对象传递。对象传递当然需要实现Serializable。 0.什么时候使用Serializable?它是什么? 1.什么是对象和捆绑类 2.使用Object和Bundle传递对象时 3.是否支持Object和Bundle对象都是数据类型的对象? 请帮助我。谢谢 问题答案: 您的要求确实很模糊,但是可序列化的对象可以转换为可以反序列化

  • 问题内容: 我有一个对象 obj 和一个类名 MyClass ,我可以使用instanceof来检查obj是否为MyClass类型,或者可以说obj.getClass()。equals(“ MyClass”)。所以我想知道是否还有其他检查对象类型的方法。 问题答案: 当心:如果您的对象是的子类,或者它实现了接口(也通常是您感兴趣的-如果您回想起“ IS A” OOP概念),则也返回true。 又见

  • 问题内容: 以下代码可以正常工作。在两个不同的结构上操作并打印该结构的字段的两种方法: 在控制台中显示所需的输出: 现在 ,如果我以以下方式更改方法签名,则会出现编译错误。我只是将方法的接收者移动到方法的参数: 我什至无法编译程序: 问 :为什么 当 方法具有相同的名称和Arity 时 ,我可以在接收器中互换结构类型,而不能在参数中互换结构类型? 问题答案: 因为Go不支持在其参数类型上重载用户定

  • 我试图理解java中同步块的概念。根据我读过的文档,我明白如果我们获取一个锁(使用实例变量的同步块),那么我们就不能在该类中的同一对象上获取同步锁。但是当我尝试实际使用以下片段时,我发现我的理解出了问题。 即我能够同时以两种不同的方法获取锁(同一实例变量上的同步块)。当线程启动时,它将转到run方法并无限期地等待,并且不会从同步块中出来。同时,如果我使用相同的线程调用stop方法,它会进入同步块并

  • 问题内容: 我以为运算符检查对象的相等性。但事实并非如此: 问题答案: *Python *将相同的内存 位置用于方法和,这是*两个对象,它们的生命周期不重叠,因此对它们返回相同的标识。请参阅下面的详细说明。 从is运算符的文档中: 运算符是否测试对象标识:并且仅当x和y是同一对象时,x is y才是true。 从ID的文档中 返回对象的“身份”。这是一个整数(或长整数),在此对象的生存期内,此整数

  • 本文向大家介绍JAVA利用泛型返回类型不同的对象方法,包括了JAVA利用泛型返回类型不同的对象方法的使用技巧和注意事项,需要的朋友参考一下 有时需要在方法末尾返回类型不同的对象,而return 语句只能返回一个或一组类型一样的对象。此时就需要用到泛型。 首先先解释个概念, 元组:它是将一组对象直接打包存储于其中的一个单一对象,这个容器对象允许读取其中元素,但不能修改。 利用泛型创建元组 测试 输出