当前位置: 首页 > 面试题库 >

如何将值插入地图?

梁明辉
2023-03-14
问题内容

我正在尝试创建字符串到字符串的映射。以下是我尝试过的方法,但两种方法均无效。它出什么问题了?

public class Data
{
    private final Map<String, String> data = new HashMap<>();
    data["John"] = "Taxi Driver";
    data.put("John", "Taxi Driver");
}

问题答案:

这里有两个问题。

首先,您不能[]像其他语言那样使用语法。方括号仅适用于Java中的数组,因此只能与整数索引一起使用。

data.put是正确的,但这是一条语句,因此必须存在于方法块中。在类级别只能存在字段声明。这是一个示例,其中所有内容都在方法的本地范围内:

public class Data {
     public static void main(String[] args) {
         Map<String, String> data = new HashMap<String, String>();
         data.put("John", "Taxi Driver");
         data.put("Mark", "Professional Killer");
     }
 }

如果要将映射初始化为类的静态字段,则可以使用Map.of,因为Java
9:

public class Data {
    private static final Map<String, String> DATA = Map.of("John", "Taxi Driver");
}

在Java 9之前,您可以使用静态初始化程序块来完成相同的操作:

public class Data {
    private static final Map<String, String> DATA = new HashMap<>();

    static {
        DATA.put("John", "Taxi Driver");
    }
}


 类似资料:
  • 我试图在字典中插入新的键值对,它嵌套在另一个字典中: 我认为这应该是一个简单的处理方法,但我花了一个小时,仍然无法找到它。我可以改用NSDictionary,但我真的很想了解如何在Swift中管理嵌套的字典?

  • 问题内容: 当我尝试粘贴到HTML文本文件中时,我总是被踢出外壳。如何才能做到这一点?我首先需要使用一些JavaScript对其进行编码吗? 例: 编辑 我只在HTML中放入单引号,然后将整个内容都用双引号引起来,但仍然没有好处。外壳错误: 问题答案: 您需要删除或编码字符串中的控制字符。 例如,将您的文本粘贴到此处,然后编码为UTF-8 ECMAScript(表示javascript字符串)。

  • 我正在尝试创建一个joomla插件,它将向joomla组件的数据库表中插入一个值。我已经通过Joomla扩展管理器成功构建并安装了该插件,但是当我启用该插件时,我没有看到数据库表中插入的值。下面是我要查看的插件中的代码: 编辑更新11/07/13:我正在从插件中添加文件,以帮助为问题提供更多的上下文。最后,我将上面的php文件和下面的xml组合起来,创建整个插件包。当我在Joomla 2.5站点上

  • 问题内容: 设想 我需要每天通过电子表格(唯一可用的选项)更新SQL 2008数据库。该格式非常基本,但是可能有数百万条记录。Column1和Column3将具有许多预定义的重复值,这些值已经提取到单独的表中。 电子表格样本 数据库设置 我的数据库设置了三个单独的表: 问题 如何编写SQL来插入与查找表中的信息匹配的记录?我该怎么办: 对此: 问题答案: 您可以尝试这样的事情: 没有任何容错功能,

  • 我正在尝试解析一个映射并更新其中的值。。。下面是我制作hashmap的.txt文件的内容 第一行是键,JSON字符串是值。 这是我的解析代码: 我正在发送一个名为params的有效负载字符串,该字符串由“|”分隔符分隔。它们的输入必须有18个参数(在“|”分隔符之间有18个值)。我解析输入,如果它没有足够的参数,我会得到包含字符串“not_ough_parameters”的键,然后得到它的值,即J

  • 问题内容: 有什么办法可以将整个对象放到像这样的对象中: 而不是传递像这样的键值对: 问题答案: 我已经在Map接口方法上进行了搜索,但是没有方法接受一个条目并将其放入地图中。因此,我自己使用一点继承和Java 8接口来实现它。 的接口仅仅是一个扩展的接口通过添加一种以上的方法,该接口。除了仅定义方法外,还对默认实现进行了编码。这样做,我们现在可以通过定义一个新的实现接口的类并扩展我们选择的map