java 各種型別轉換
阿新 • • 發佈:2020-10-05
public class TypeConversion { public static void main(String[] args) throws ParseException { // 1.將字串轉換為字元陣列 String str = "Manaphy"; char[] charArray = str.toCharArray(); System.out.println(Arrays.toString(charArray)); // [M, a, n, a, p, h, y] // 2.將字元陣列轉換為字串 str = new String(charArray); System.out.println(str); // Manaphy // 3.將字串轉換為byte陣列 byte[] bytes = str.getBytes(); // 以預設編碼轉換 // bytes = str.getBytes("GBK"); // 以GBK編碼轉換 System.out.println(Arrays.toString(bytes)); // [77, 97, 110, 97, 112, 104, 121] // 4.將byte陣列轉換為字串 str = new String(bytes); System.out.println(str); // Manaphy // 5.把其他型別資料轉換為字串 int i = 123; String txt = "" + i; // 字串與基本型別資料連線 txt = String.valueOf(i); // 轉換基本資料型別 // 6.String、int、Integer的互相轉換 // int轉Integer Integer integer1 = new Integer(10); Integer integer2 = Integer.valueOf(10); // 官方推薦這種寫法 Integer integer3 = 10; // 自動裝箱 // String轉Integer Integer integer4 = Integer.valueOf("10"); // Integer轉int int int1 = integer1.intValue(); int int2 = integer3; // 自動拆箱 // int轉String String str2 = String.valueOf(int1); String str3 = Integer.toString(int2); // String轉int int int3 = Integer.parseInt(str2); // Integer轉String String str4 = integer1.toString(); // 7.String轉換成BigDecimal BigDecimal bd = new BigDecimal(str2); // 8.String轉化成Date String strDate = "2019-04-13"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 將String轉化為util.Date java.util.Date utilDate = sdf.parse(strDate); // 將String轉化為sql.Date java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); // 9.List,Set,陣列之間的轉換 String[] arr = new String[]{"A", "B", "C"}; // 陣列轉List List<String> list = Arrays.asList(arr);//長度固定不變 List<String> list1 = new ArrayList<>(Arrays.asList(arr));//長度可變 // List轉Set Set<String> set = new HashSet<>(list); // Set轉List List<String> list2 = new ArrayList<>(set); // 陣列轉Set-->利用陣列轉List再轉Set Set<String> set1 = new HashSet<>(Arrays.asList(arr)); // List轉陣列 Object[] array = list.toArray(); // Set轉陣列 Object[] arraySet = set.toArray(); // 10.Date與LocalDateTime的轉換 (需要使用Instant中轉) Date date = new Date(); // Date轉Instant Instant instant = Instant.ofEpochMilli(date.getTime()); Instant instant1 = date.toInstant(); // Instant轉Date Date date1 = Date.from(instant); // Instant轉LocalDateTime LocalDateTime localDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); // LocalDateTime轉Instant Instant instant2 = localDateTime.atZone(ZoneId.systemDefault()).toInstant(); } }