Карта с собственным типом данных (Java) - PullRequest
0 голосов
/ 27 октября 2010
Map<String,MyData>  map = new HashMap<String,MyData>();
...
static class MyData {
  String theString;
  Bitmap theBitmap;
  int theInt;
  ...
}

Как разместить данные на этой карте ???

map.put("xxx", new MyData()); // Does not work

Спасибо;)


Да, извините, я задал неправильный вопрос;)

Я имею в виду, как я могу написать dada in in ...

как для theString = "aaa", theInt = 22 и т. Д ....

Спасибо

Ответы [ 4 ]

1 голос
/ 27 октября 2010

Конечно, это работает:

import java.util.*;

public class Test {

    static class MyData {
        String theString;
        byte[] theBitmap;
        int theInt;
    }

    public static void main(String... args) {
        Map<String,MyData>  map = new HashMap<String,MyData>();
        map.put("xxx", new MyData());

        System.out.println(map);
    }
}

Это прекрасно компилируется и печатает:

{xxx=Test$MyData@3ae48e1b}
1 голос
/ 27 октября 2010

Может быть, вы хотите сделать:

MyData someData = new MyData();
someData.theString = "toto";
someData.theString = 1;
map.put("xxx", someData);
someData = new MyData();
someData.theString = "tutu";
someData.theString = 2;
map.put("xxx", someData);
1 голос
/ 27 октября 2010
Map<String,MyData>  map = new HashMap<String,MyData>();
...
class MyData {
  String theString;
  Bitmap theBitmap;
  int theInt;
  ...
}

Посмотрите, лучше ли это.

0 голосов
/ 27 октября 2010

Основываясь на вашем комментарии (э-э ... ответ?), Я собираюсь догадаться, что вы забыли добавить конструктор в класс MyData.

Конструктор должен выглядеть примерно так:

  public MyData(String str, Bitmap bmap, int val)
  {
     // assign the the instnace values and whatever else you neeed to do.
  }

Однако, когда задаете такой вопрос, пожалуйста, включите текст сообщения об ошибке, чтобы нам не приходилось угадывать, чтобы дать вам ответы. Также, если у вас есть изменения в вашем вопросе, вставьте их в вопрос, не отвечайте (stackoverflow на самом деле не используется в качестве доски обсуждений: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...