gpt4 book ai didi

java - 通过java中方法中的参数调用2个方法

转载 作者:行者123 更新时间:2023-11-30 07:51:21 24 4
gpt4 key购买 nike

我在接口(interface)中有 2 个方法:

public interface ISort
{
public void insertionSort(final String[] a);
public void selectionSort(final String[] a);
}

让我们调用方法,它接收方法作为参数 - 方法 B

首先,我需要识别调用了哪个接口(interface)方法,并在方法B中调用相应的接口(interface)方法。复杂的是方法B的某些功能,这两个接口(interface)方法都需要完成。这意味着我需要有一些临时变量,它将封装所需的接口(interface)方法调用。所有的接口(interface)方法都有实现。

public void runTest(ISort sort)
{
String[] list=stringsFromFile();
sort=sort.selectionSort(list);
if(sort.toString().equals("insertionSort")){
sort=sort.insertionSort(list);
}

sort(list)
}

我希望问题很清楚。自从我遇到这个问题以来,我花了一整天的时间寻找解决方案,但我找不到任何解决方案,我被困住了。

最佳答案

您的界面实际上应该只有一个方法,sort。插入排序和选择排序是同一“排序”抽象的两种实现,可以用不同的类来表示。调用 sort 的方法不需要知道它们调用的是哪一个:

public void runTest(final ISorter sorter) {
final String[] array = stringsFromFile();
sorter.sort(array);
// TODO validate that the array is now sorted
}

关于java - 通过java中方法中的参数调用2个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47250557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com