java - HashMap 对象 ~ myMap 是在公共(public) Java 方法中创建的

标签 java object constructor hashmap instances

下面是我的起始代码。我学习了一些关于 HashMap 的知识,创建并使用了它们。但是我在创建我构建的 HashMap 的副本时遇到问题。我可以重新创建一个新的,但想法是通过另一种方法构建 map 的一些键和值。我的方法都是公开的。我在类中创建了一个私有(private) myMap。但当我尝试用另一种方法访问 myMap 时,最多得到的是一个空的 {}。有时我会得到“null”,但我至少弄清楚了如何从 null 到 {}。我只是希望能够 .getKey... 来获取 HashMap 数据。

希望这很清楚吗?如果没有,将尝试发送更多。

public class CodonCount {  
   private HashMap<String,Integer> myMap = new HashMap<String,Integer>();

public CodonCount() { 
System.out.println("myMap (beginning of Constructor) = " + myMap);
  }

public HashMap buildCodonMap(int start, String dna) {
 System.out.println("myMap (beginning of buildCodonMap) = " + myMap);       
HashMap<String,Integer> myMap = new HashMap<String,Integer>();

最佳答案

因为您已经将 myMap 声明为类变量,如果您这样做

public HashMap buildCodonMap(int start, String dna) {
  System.out.println("myMap (beginning of buildCodonMap) = " + myMap);       
  HashMap<String,Integer> myMap = new HashMap<String,Integer>();
  ....
}

您正在重新声明 myMap

尝试

public HashMap buildCodonMap(int start, String dna) {
   System.out.println("myMap (beginning of buildCodonMap) = " + myMap);     
   myMap = new HashMap<String,Integer>();
   ....
}

关于java - HashMap 对象 ~ myMap 是在公共(public) Java 方法中创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842947/

相关文章:

java - 如何确保我使用的是 "server"JVM?

javascript - 遍历对象并在javascript中获取随机项目

java - 'new'操作符使用构造函数初始化内存时JVM做了什么?

java - 需要帮助,我是 Android Studio 的初学者

java - 使用 JPA,是否可以将关系表作为 @Entity 映射到 java.util.Map?

java - 使用对象或适当的数据类型

c++ - 我实际上是在调用 ctor 并在指向对象的指针上初始化 vtable 吗? C++

javascript - 为什么我的 Promise 定义会被执行?

java - 属性类和转义字符

r - R中使用ifelse()语句获取不同类的对象