一尘不染

参数列表中的“…”是什么意思?doInBackground(String…params)

java

我不明白这种语法。尝试用谷歌搜索各种单词加上“ …”是没有用的。


阅读 297

收藏
2020-12-03

共1个答案

一尘不染

这称为可变参数函数(带有许多语言示例的Wiki页面)。

在计算机程序设计中,可变参数函数是不确定的函数,即接受可变数量的参数的函数。在编程语言之间,对可变参数功能的支持差异很大。作为可变参数函数,自然会遇到许多数学和逻辑运算。例如,数字的总和或字符串或其他序列的串联是可以在逻辑上应用于任意数量的操作数的运算。已经以多种语言实现为可变参数功能的另一种操作是输出格式。C函数printf和Common
Lisp函数格式就是两个这样的示例。两者都使用一个参数指定输出的格式,并使用任意数量的参数提供要格式化的值。可变参数函数可能会暴露某些语言中的类型安全性问题。例如,如果不慎使用C的printf,可能会引起一类称为格式字符串攻击的安全漏洞。攻击是可能的,因为对可变参数功能的语言支持不是类型安全的;它允许函数尝试从堆栈中弹出的参数要多于放置在那里的参数-
破坏堆栈并导致意外行为。可变参数功能可以视为对apply函数的补充,apply函数将一个函数和一个列表/序列/数组作为参数,然后调用一次函数,其中参数是列表的元素。会引起一类称为格式字符串攻击的安全漏洞。攻击是可能的,因为对可变参数功能的语言支持不是类型安全的;它允许函数尝试从堆栈中弹出的参数要多于放置在那里的参数-
破坏堆栈并导致意外行为。可变参数功能可以视为对apply函数的补充,apply函数将一个函数和一个列表/序列/数组作为参数,然后调用一次函数,其中参数是列表的元素。会引起一类称为格式字符串攻击的安全漏洞。攻击是可能的,因为对可变参数功能的语言支持不是类型安全的;它允许函数尝试从堆栈中弹出的参数要多于放置在那里的参数-
破坏堆栈并导致意外行为。可变参数功能可以视为对apply函数的补充,apply函数将一个函数和一个列表/序列/数组作为参数,然后调用一次函数,其中参数是列表的元素。它允许函数尝试从堆栈中弹出的参数要多于放置在那里的参数-
破坏堆栈并导致意外行为。可变参数功能可以视为对apply函数的补充,apply函数将一个函数和一个列表/序列/数组作为参数,然后调用一次函数,其中参数是列表的元素。它允许函数尝试从堆栈中弹出的参数要多于放置在那里的参数-
破坏堆栈并导致意外行为。可变参数功能可以视为对apply函数的补充,apply函数将一个函数和一个列表/序列/数组作为参数,然后调用一次函数,其中参数是列表的元素。

Java 可能是 个人最喜欢的
未使用功能之一。它基本上是一个从元素构建的引用数组。最好的使用方法之一是在类构造函数上,或者是您需要不断查找最大2个,3个,4个,5个输入元素之类的方法的方法。


一个例子是,当我binary tree node为编码任务构建泛型时,在构造函数中使用了它。这使我只需将元素添加到树中并进行分配即可。

继创建字符串类型的二进制树,根"Red"和2个分支"Blue""Green"

new MBTN<String>("Red", "Blue", "Green").

您能否想到替代方案呢?:D您甚至不能简单地创建元素的通用数组,因此这会像地狱般延伸。绝对不是没有用的。

2020-12-03