2012-04-02 3 views
0
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]; 
+0

가능하지만 루프를 작성해야합니다. –

+0

예제가 있습니까? 나는 단서가 없다. – Trey

+2

문자열이 필요할 때 문자 배열을 사용하고'Character.toString (char)'을 사용하지 않는 이유는 무엇인가? – trutheality

답변

1

올바른 방법은 char[]toCharArray에서 얻은 다음 String이 필요한 경우 Character.toString(char)을 사용하는 것입니다. charString으로 전송할 수 없습니다.

+0

잘 일 해줘서 고맙습니다. – Trey

1

charObject 표현은 Character이다. CharacterString으로 전송할 수 없습니다. Stringchar에서 가져 오는 가장 쉬운 방법은 빈 String : String s = ch + "";으로 연결하는 것입니다. 또는 String으로 시작하기 때문에 String#substring을 사용하여 1 char의 부분 문자열을 만들 수 있습니다.

+0

이것은 문자를 문자열로 변환하는 가장 쉽고 효율적인 방법은 아닙니다. – trutheality

+1

@trutheality 효율성에 대해 말하는 것이 아니라 단순함에 대해 이야기하고있었습니다. 그것은'char'에서'String'을 얻는 가장 간단한 방법입니다. 다른 방법이 있습니다 ('String # valueOf'와'Character # toString'이 마음에들 것입니다).하지만 자바 초보자도 이해하기 쉽지 않습니다. – Jeffrey

+0

어쩌면 의견의 문제 일 수 있습니다. 숫자가 아닌 숫자를 추가하는 것이 "오,이 캐릭터가 * * 문자열 *로 변환되는 것"보다 훨씬 직관적이지는 않습니다. – trutheality

1

String을 배열로 변환 할 필요가 없습니다. 직접 문자열에서 문자를 추출 할 수 있습니다 :

char c=toCensor.charAt(j); 
1
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] + " "); 
    } 

이 문자의 배열로 문자 저장을에 문자열 toCensor 떨어져 나옵니다. 그런 다음 d o g을 출력합니다. 묻는 것이 아니라 char이 기본 유형이고 String이 Object인지 확실하지 않습니다. 나는 거의 맹목적이다. 당신은 숯을 물체에 던질 수 없다.

그래서 기본 유형 int는 정수가 될 수 있지만 정수는 정수가 될 수 없으며 사각형과 같은 종류는 사각형이지만 사각형은 사각형이 아닙니다. 또한 int에는 메소드가 없지만 Integer 객체 유형이 있습니다. 예 : Integer.toString(5) 또는 String.format("")

이 정보가 도움이되기를 바랍니다.

관련 문제