Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > String = ""+a;


Автор: MoZy 12.8.2008, 12:18
Код

int a=5;
String s = ""+a;
s=null;


Вот это вот штука жутко жрет память.. Куда деваться, когда нада выводить на экран строку???

Автор: W0LF 12.8.2008, 12:32
Цитата

static String  valueOf(int i)
          Returns the string representation of the int argument.

Автор: dive 12.8.2008, 12:34
int x =5;
String text = String.valueOf(x);

Автор: MoZy 14.8.2008, 00:34
Стал бы я тут мудиться, если бы все так просто было. 
По сути мне нужно
Код

String s = x+","+y;

Но даже это жрет:
Код

int a=5;
String s=String.valueOf(a); 
s=null;

Юзаю Wireless Toolkit 2.5.2 (в нем Memory Monitor)
jre1.6.0_07

Кстати вот вам еще дыра: 

Код

Enumeration e = MyVector.elements();//Уже здесь жрет безвозвратно

for ( ; e.hasMoreElements() ;) //Здесь тоже
{
      System.out.println(e.nextElement());//и здесь...
}


А сборщик System.gc() вызывать - не вариант.

Автор: W0LF 14.8.2008, 14:03
Цитата(MoZy @  14.8.2008,  00:34 Найти цитируемый пост)
Код

String s = x+","+y;

Код

String s = new StringBuffer().append(x).append(",").append(y)
                           .toString();



Цитата(MoZy @  14.8.2008,  00:34 Найти цитируемый пост)
А сборщик System.gc() вызывать - не вариант. 

насколько мы помним - System.gc() не обязательно вызовет коллектор =)

Автор: MoZy 15.8.2008, 12:55
На PC работает

Код

int a=5;
String s = new StringBuffer().append(a).append(",").append(a).toString();
g.drawString(s,2,2,Graphics.LEFT|Graphics.TOP);
System.gc();

без утечки smile  

Кто знает прогеров из Sun Microsystems?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)