development

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

big-blog 2020. 5. 14. 20:41
반응형

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


오류

% javac  StringTest.java 
StringTest.java:4: variable errorSoon might not have been initialized
        errorSoon[0] = "Error, why?";

암호

public class StringTest {
        public static void main(String[] args) {
                String[] errorSoon;
                errorSoon[0] = "Error, why?";
        }
}

오류 메시지에 표시된대로 초기화 해야 합니다. 선언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";

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

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

-또는-

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

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

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

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

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

나는 당신이 C ++에서 이주했다고 생각합니다. 자바에서는 데이터 유형을 초기화해야합니다 (다른 기본 유형과 String은 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?"};   
    }
}

String[] errorSoon = new String[n];

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

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


항상 이렇게 쓸 수 있습니다

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.  
}

문자열 선언 :

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

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

it is initialization and getting the STRING LENGTH code in very simple way for beginners


You can use below code to initialize size and set empty value to array of Strings

String[] row = new String[size];
Arrays.fill(row, "");

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

If you pass a string array to a method, do:

myFunc(arr);

or do:

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

참고URL : https://stackoverflow.com/questions/2564298/java-how-to-initialize-string

반응형