Java : String []을 초기화하는 방법?


답변:


332

오류 메시지에 표시된대로 초기화 해야 합니다. 선언errorSoon 만 했습니다.

String[] errorSoon;                   // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement

인덱스 설정을 시작 하기 전에String 요소에 대해 올바른 메모리 스토리지를 할당 할 수 있도록 배열을 초기화해야합니다 .

배열을 선언 했을 때만 했던 것처럼 String요소에 할당 된 메모리는없고에 대한 참조 핸들 만 있으며 errorSoon인덱스에서 변수를 초기화하려고하면 오류가 발생합니다.

참고로, String중괄호 안에 배열을 초기화 할 수도 있습니다 { }.

String[] errorSoon = {"Hello", "World"};

어느 것이

String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";

8
배열의 모든 문자열을 기본값으로 인스턴스화하기 위해 ()을 사용할 수없는 것은 까다로운 일입니다. 5 개의 빈 문자열 배열은 다음과 같아야합니다. = new Array [5] ( ""); = { "", "", "", "", ""} 대신.
Pieter De Bie

for 루프를 사용하십시오.
Tom Burris

128
String[] args = new String[]{"firstarg", "secondarg", "thirdarg"};

3
아마 OPs 질문 제목에서 제안하는 바는 아니지만 String []을 허용하는 매개 변수에 내 문자열을 전달하려고 시도한 것이 해결책입니다.
kommradHomer

새로운 String btw를 생략 할 수 없습니까? String [] 출력 = { "", "", ""}; 내 코드에서 작동하는 것 같습니다.
Pieter De Bie

2
이미 배열을 초기화하고 당신이 원하는 경우 다시 초기화, 당신은 갈 수 없어 args = {"new","array"};당신은해야합니다 args = new String[]{"new", "array"};
Darpan

26
String[] errorSoon = { "foo", "bar" };

-또는-

String[] errorSoon = new String[2];
errorSoon[0] = "foo";
errorSoon[1] = "bar";

9

나는 당신이 C ++에서 이주했다고 생각합니다. 자바에서는 데이터 유형을 초기화해야합니다 (다른 기본 유형과 문자열은 java의 기본 유형으로 간주되지 않습니다). 그렇지 않으면 사양에 따라 사용하십시오. 빈 참조 변수와 비슷합니다 (C ++의 컨텍스트에서 포인터와 매우 유사).

public class StringTest {
    public static void main(String[] args) {
        String[] errorSoon = new String[100];
        errorSoon[0] = "Error, why?";
        //another approach would be direct initialization
        String[] errorsoon = {"Error , why?"};   
    }
}

9

Java 8 에서는 스트림을 사용할 수도 있습니다.

String[] strings = Stream.of("First", "Second", "Third").toArray(String[]::new);

이미 문자열 목록 ( stringList) 이있는 경우 다음과 같이 문자열 배열로 수집 할 수 있습니다.

String[] strings = stringList.stream().toArray(String[]::new);

7
String[] errorSoon = new String[n];

n은 얼마나 많은 문자열을 보유해야합니다.

선언에서이를 수행하거나 나중에 사용하기 전에 String []없이 수행 할 수 있습니다.


2
String[] arr = {"foo", "bar"};

문자열 배열을 메소드에 전달하는 경우 다음을 수행하십시오.

myFunc(arr);

또는

myFunc(new String[] {"foo", "bar"});

1

항상 이렇게 쓸 수 있습니다

String[] errorSoon = {"Hello","World"};

For (int x=0;x<errorSoon.length;x++) // in this way u create a for     loop that would like display the elements which are inside the array     errorSoon.oh errorSoon.length is the same as errorSoon<2 

{
   System.out.println(" "+errorSoon[x]); // this will output those two     words, at the top hello and world at the bottom of hello.  
}

0

문자열 선언 :

String str;

문자열 초기화

String[] str=new String[3];//if we give string[2] will get Exception insted
str[0]="Tej";
str[1]="Good";
str[2]="Girl";

String str="SSN"; 

우리는 String에서 개별 문자를 얻을 수 있습니다 :

char chr=str.charAt(0);`//output will be S`

다음과 같이 개별 문자 Ascii 값을 얻으려면 :

System.out.println((int)chr); //output:83

이제 Ascii 값을 Charecter / Symbol로 변환하고 싶습니다.

int n=(int)chr;
System.out.println((char)n);//output:S

0
String[] string=new String[60];
System.out.println(string.length);

초보자를 위해 매우 간단한 방법으로 STRING LENGTH 코드를 초기화하고 가져옵니다.


0

아래 코드를 사용하여 크기를 초기화하고 빈 값을 문자열 배열로 설정할 수 있습니다

String[] row = new String[size];
Arrays.fill(row, "");
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.