Casting
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
// Type Casting in Java
// 1. Implicit Type Casting
// 2. Explicit Type Casting
// Implicit Type Casting
// byte -> short -> int -> long -> float -> double
// char -> int
// boolean -> No implicit type casting
// byte -> short
byte byteValue = 10;
short shortValue = byteValue;
System.out.println("Short Value: " + shortValue);
// short -> int
short shortValue2 = 100;
int intValue = shortValue2;
System.out.println("Int Value: " + intValue);
// int -> long
int intValue2 = 1000;
long longValue = intValue2;
System.out.println("Long Value: " + longValue);
// long -> float
long longValue2 = 10000;
float floatValue = longValue2;
System.out.println("Float Value: " + floatValue);
// float -> double
float floatValue2 = 100000;
double doubleValue = floatValue2;
System.out.println("Double Value: " + doubleValue);
// char -> int
char charValue = 'A';
int intValue3 = charValue;
System.out.println("Int Value: " + intValue3); // ASCII Value of 'A' is 65
// Explicit Type Casting
// double -> float -> long -> int -> short -> byte
// int -> char
// boolean -> No explicit type casting
// double -> float
double doubleValue2 = 100.04;
float floatValue3 = (float) doubleValue2;
System.out.println("Float Value: " + floatValue3);
// float -> long
float floatValue4 = 100.04f;
long longValue3 = (long) floatValue4;
System.out.println("Long Value: " + longValue3);
// long -> int
long longValue4 = 1000;
int intValue4 = (int) longValue4;
System.out.println("Int Value: " + intValue4);
// int -> short
int intValue5 = 100;
short shortValue3 = (short) intValue5;
System.out.println("Short Value: " + shortValue3);
// short -> byte
short shortValue4 = 10;
byte byteValue2 = (byte) shortValue4;
System.out.println("Byte Value: " + byteValue2);
// int -> char
int intValue6 = 65;
char charValue2 = (char) intValue6;
System.out.println("Char Value: " + charValue2); // ASCII Value of 65 is 'A'
// boolean -> int
boolean booleanValue = true;
// int intValue7 = (int) booleanValue; // Compile Time Error
// int -> boolean
int intValue8 = 1;
boolean booleanValue2 = intValue8 > 0;
System.out.println("Boolean Value: " + booleanValue2);
// int -> boolean
int intValue9 = 0;
boolean booleanValue3 = intValue9 > 0;
System.out.println("Boolean Value: " + booleanValue3);
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
// Type Casting in Java
// List to Array
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
Integer[] array = list.toArray(new Integer[0]);
for (Integer i : array)
{
System.out.println(i);
}
// Array to List
List<Integer> list2 = new ArrayList<>();
Collections.addAll(list2, array);
for (Integer i : list2)
{
System.out.println(i);
}
// Integer to String
Integer integer = 123;
String string = integer.toString();
System.out.println(string);
// String to Integer
String string2 = "123";
Integer integer2 = Integer.parseInt(string2);
System.out.println(integer2);
// Integer to Double
Integer integer3 = 123;
Double double1 = integer3.doubleValue();
System.out.println(double1);
// Double to Integer
Double double2 = 123.0;
Integer integer4 = double2.intValue();
System.out.println(integer4);
// Integer to int
Integer integer5 = 123;
int int1 = integer5;
System.out.println(int1);
// int to Integer
int int2 = 123;
Integer integer6 = int2;
System.out.println(integer6);
// String to char
String string3 = "abc";
char char1 = string3.charAt(0);
System.out.println(char1);
// char to String
char char2 = 'a';
String string4 = String.valueOf(char2);
System.out.println(string4);
// String to int
String string5 = "123";
int int3 = Integer.parseInt(string5);
System.out.println(int3);
// int to String
int int4 = 123;
String string6 = String.valueOf(int4);
System.out.println(string6);
}
}
Integer -> int
Integer a = new Integer(10);
int i = a.intValue();
// 혹은
Integer a = new Integer(10);
int k = Integer.parseInt(a.toString());
String Array -> char Array
1. charAt() + for() {}
String s = "sk kinghts";
char[] arr = new char[s.length()];
for (int i = 0; i < s.length(); i++) {
arr[i] = s.charAt(i);
}
공백도 포함된다.
2. toCharArray()
String s = "sk kinghts";
char[] arr = s.toCharArray();
for (char c : arr) {
System.out.println(c);
}
char Array -> String Array
1. valueOf()
char[] arrCh = {'s', 'k', 'k', 'i'};
String[] arrStr = new String[arr.length];
for (int i = 0; i < arrCh.length; i++) {
arrStr[i] = String.valueOf(arrCh.charAt(i));
}
char[] arrCh = {'s', 'k', 'k', 'i'};
String str = String.valueOf(arrCh);
2. toString()
char[] arrCh = {'s', 'k', 'k', 'i'};
String[] arrStr = new String[arr.length];
for (int i = 0; i < arrCh.length; i++) {
arrStr[i] = Character.toString(arrCh.charAt(i));
}
Character.toString() 사용 시 char[] 배열은 반환이 불가능하다.
char[] arrCh = {'s', 'k', 'k', 'i'};
Character.toString(arrCh); // xxx
3. "" 이용하기
내가 좋아하는 방법
근데 속도는 valueOf()이 더 빠르다.
char c = 's';
String str = ch + "";
Array는 arr[idx]로 접근하고, String은 str.charAt(idx)로 접근한다.
String array -> Int array
import java.util.Arrays;
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args) {
String[] strings = { "1", "2", "3", "4", "5"};
int[] values = Stream.of(strings)
.mapToInt(Integer::parseInt)
.toArray();
System.out.println(Arrays.toString(values));
}
}
import java.util.Arrays;
public class Main
{
public static void main(String[] args) {
String[] strings = { "1", "2", "3", "4", "5"};
Integer[] values = Arrays.stream(strings)
.map(Integer::parseInt)
.toArray(Integer[]::new);
System.out.println(Arrays.toString(values));
}
}
문자형 -> 숫자형
Integer.valueOf(str);
Double.valueOf(str);
Float.valueOf(str);
Integer.parseInt(str);
Long.parseLong(str);
Short.parseShort(str);
숫자형 -> 문자형
String.valueOf(num);
Integer.toString(num);
Float.toString(num);
Double.toString(num);
정수형 <-> 실수형
(int)number
(double)number
(float)number
Array -> List
(Reference Type) Array -> List
// 1
Arrays.asList(arr);
// 2
new ArrayList<>(Arrays.asList(arr));
// 3
Stream.of(arr).collect(Coolectors.toList());
(Primitive Type) Array -> List
// 1
int[] arr = new int[10];
List<Integer> intList = new ArrayList<>();
for (int e : arr) {
intList.add(e);
}
// 2
List<Integer> intList = Arrays.stream(arr)
.boxed()
.collect(Collectors.toList());
List -> Array
arrList.toArray(new String[arrList.size()]);
Last updated