Преобразовать массив символов в массив объектов в Java?Является ли это возможным? - PullRequest
0 голосов
/ 03 апреля 2012
public static String doCensor(String toCensor)
{        
   Object[] aobj;
   int l = (aobj = toCensor.toCharArray()).length; //THIS LINE OF CODE IS THE PROBLEM

Причина, по которой я хочу преобразовать его в объект, заключается в том, что я могу привести его к конкретному символу или строке позже.Есть ли более простой способ сделать это?

Примеры кастинга:

char c = (char) aobj[j];
String word = (String) aobj[k];

Ответы [ 4 ]

1 голос
/ 03 апреля 2012
   String toCensor = "dog";
   char characters[] = new char[toCensor.length()];

   for(int i = 0; i < toCensor.length(); i++) {
                characters[i] = toCensor.charAt(i);
   }

   for(int i = 0; i < characters.length; i++) {
    System.out.print(characters[i] + " ");
   }

Это разбивает String toCensor на символы и сохраняет их в массив символов.Затем выводит d o g.Я не уверен, что вы спрашиваете, но char - это примитивный тип, а String - это Object.Я почти уверен, что вы не можете привести char к объекту.

Вот почему примитивный тип int может быть Integer, но Integer не может быть int, вроде как квадрат - это прямоугольник, но прямоугольникне квадратТакже int не имеет никаких методов, но объект типа Integer имеет.Например Integer.toString(5) или String.format("")

Надеюсь, это было полезно.

1 голос
/ 03 апреля 2012

Правильный способ сделать это - просто получить char[] от toCharArray, а затем, если вам нужен String, используйте Character.toString(char). Вы не можете разыграть char до String.

1 голос
/ 03 апреля 2012

Вам вообще не нужно преобразовывать строку в массив. Вы можете извлекать символы из String напрямую:

char c=toCensor.charAt(j);
1 голос
/ 03 апреля 2012

Object представление char является Character.Вы не можете разыграть Character до String.Самый простой способ получить String из char - это объединить его с пустым String: String s = ch + "";.Или, поскольку вы начинаете с String, вы можете использовать String#substring для создания подстроки 1 char.

...