Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как заменить один символ в строке. / 7 сообщений из 7, страница 1 из 1
14.08.2012, 01:22:15
    #37915313
ErikI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменить один символ в строке.
Имеется строка key, я хочу первую букву в строке сделать большой. И хочется понять можно ли работать со строкой как с массивом.
Код: java
1.
2.
3.
4.
        key.toLowerCase();
        char[] ch = key.toCharArray();
        ch[0] = Character.toUpperCase(ch[0]);
        key = ch.toString(); //вот это преобразование работает неправильно.
...
Рейтинг: 0 / 0
14.08.2012, 08:21:47
    #37915394
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменить один символ в строке.
ErikIИмеется строка key, я хочу первую букву в строке сделать большой. И хочется понять можно ли работать со строкой как с массивом.
Код: java
1.
2.
3.
4.
        key.toLowerCase();
        char[] ch = key.toCharArray();
        ch[0] = Character.toUpperCase(ch[0]);
        key = ch.toString(); //вот это преобразование работает неправильно.



1) Можно, но только с созданием новой строки
2) Можно как с массивом, но только на чтение ;)
Строки в java - иммутабельны, значит после инициализации не могут быть изменены

И ваш пример:

Код: java
1.
2.
3.
4.
 key.toLowerCase();
        char[] ch = key.toCharArray();
 ch[0] = Character.toUpperCase(ch[0]);
key = new String(ch);
...
Рейтинг: 0 / 0
14.08.2012, 08:23:53
    #37915395
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменить один символ в строке.
Озверин
2) Можно как с массивом, но только на чтение ;)


Имею ввиду, что массив то можно и на запись, только на самой строке это уже никак не отразиться.
...
Рейтинг: 0 / 0
14.08.2012, 10:39:19
    #37915519
ErikI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменить один символ в строке.
Озверин,

Спасибо буду знать.
...
Рейтинг: 0 / 0
14.08.2012, 12:22:46
    #37915684
flynn068
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменить один символ в строке.
Попробуйте использовать StringBuffer, он может меняться
...
Рейтинг: 0 / 0
14.08.2012, 14:04:24
    #37915850
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменить один символ в строке.
flynn068Попробуйте использовать StringBuffer, он может меняться
Для него - это то-же самое. Если в систему строка key пришла как объект
String (99%) то вычислительная нагрузка по апперкейсу будет та-же самая что
и с созданием новой строки. Если афтор хочет наковырять хоть несколько
микро-флопов производительности то можно при выводе учитывать
под-строку с минимумом копирований и трансформаций

Псевдокод.
Код: java
1.
2.
System.out.printf("%s",upper(ch[0]));
System.out.printSubArraySequence("%s",ch,offset,length);
...
Рейтинг: 0 / 0
17.08.2012, 19:52:27
    #37921348
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменить один символ в строке.
ErikI,

Код: java
1.
2.
3.
...
key = key.replaceFirst("[a-z]{1}", key.substring(0,1).toUpperCase());
...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как заменить один символ в строке. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]