用ArrayList <string>替换SNMP4J Vector <variablebinding>

时间:2017-12-07 09:08:56

标签: java arraylist

有人可以显示用ArrayList替换向量的正确语法吗?

原始代码 -

StringBuilder msg = new StringBuilder();
        msg.append(event.toString());
                Vector<? extends VariableBinding> varBinds = event.getPDU()
                .getVariableBindings();

尝试过 -

List<String> variables = new ArrayList<>();
for (VariableBinding binding : event.getPDU().getVariableBindings()) {
    variables.add(String.valueOf(binding.getVariable()));
}

但是多个问题(不支持菱形运算符,可以将ArrayList转换为String)。 Netbeans / JDK1.6

并尝试过 -

ArrayList<String> list = new ArrayList<String>(varBinds) = event.getPDU().getVariableBindings();

但意外类型,所需变量找到值,找不到符号变量varBinds。

赞赏的想法

此致 活性

1 个答案:

答案 0 :(得分:1)

JDK 1.6中没有钻石操作员。您需要使用旧样式泛型形式定义ArrayList:

import java.util.List;
import java.util.ArrayList;

List<String> variables = new ArrayList<String>();

遵循

的SNMP4J文档

http://www.snmp4j.org/doc/index.html

event.getPDU().getVariableBindings()将返回VariableBindings

的向量

如果你想将它存储在VariableBindings的ArrayList中,你可以

List<VariableBinding> variables = new ArrayList<String>(event.getPDU().getVariableBindings());

但是,如果您要存储VariableBinding的字符串表示形式,则可以检索基础Variable的字符串表示形式

e.g。

List<String> variables = new ArrayList<String>();
for (VariableBinding binding : event.getPDU().getVariableBindings()) {
    variables.add(binding.getVariable().toString());
}

这完全取决于你想要达到的目标。