Java karakterlánc-konverziók

1. Áttekintés

Ebben a rövid cikkben néhány egyszerű konverziót vizsgálunk meg Húr a Java által támogatott különféle adattípusokra objektumokat mutat.

2. Konvertálás Húr nak nek int vagy Egész szám

Ha át kell alakítanunk a Húr primitívnek int vagy Egész szám burkoló típus, használhatjuk akár a parseInt () vagy értéke() API-k a megfelelő megszerzéséhez int vagy Egész szám visszatérési érték:

@Test public void whenConvertedToInt_thenCorrect () {String beforeConvStr = "1"; int utánConvInt = 1; assertEquals (Integer.parseInt (beforeConvStr), afterConvInt); } @Test public void whenConvertedToInteger_thenCorrect () {String beforeConvStr = "12"; Egész szám utánConvInteger = 12; assertEquals (Integer.valueOf (beforeConvStr) .equals (afterConvInteger), true); }

3. Konvertálás Húr nak nek hosszú vagy Hosszú

Ha át kell alakítanunk a Húr primitívnek hosszú vagy Hosszú burkoló típus, használhatjuk parseLong () vagy értéke() illetőleg:

@Test public void whenConvertedTolong_thenCorrect () {String beforeConvStr = "12345"; jóval későbbConvLongPrimitive = 12345; assertEquals (Long.parseLong (beforeConvStr), afterConvLongPrimitive); } @Test public void whenConvertedToLong_thenCorrect () {String beforeConvStr = "14567"; Hosszú utánConvLong = 14567l; assertEquals (Long.valueOf (beforeConvStr) .equals (afterConvLong), true); }

4. Konvertálás Húr nak nek kettős vagy Kettős

Ha át kell alakítanunk a Húr primitívnek kettős vagy Kettős burkoló típus, használhatjuk parseDouble () vagy értéke() illetőleg:

@Test public void whenConvertedTodouble_thenCorrect () {String beforeConvStr = "1.4"; dupla afterConvDoublePrimitive = 1,4; assertEquals (Double.parseDouble (beforeConvStr), afterConvDoublePrimitive, 0,0); } @Test public void whenConvertedToDouble_thenCorrect () {String beforeConvStr = "145.67"; dupla afterConvDouble = 145,67d; assertEquals (Double.valueOf (beforeConvStr) .equals (afterConvDouble), true); }

5. Konvertálás Húr nak nek ByteArray

Annak érdekében, hogy a Húr egy bájt tömbhöz, getBytes () kódolja a Húr bájtsorozatba a platform alapértelmezett karakterkészletével, az eredményt egy új byte tömbben tárolva.

- viselkedése getBytes () nincs megadva, amikor a telt Húr nem kódolható az alapértelmezett karakterkészlet használatával. A java dokumentációja szerint a java.nio.charset.CharsetEncoder osztályt kell használni, ha a kódolási folyamat felett nagyobb ellenőrzésre van szükség:

@Test public void whenConvertedToByteArr_thenCorrect () {String beforeConvStr = "abc"; byte [] afterConvByteArr = új byte [] {'a', 'b', 'c'}; assertEquals (Tömbök.egyenlő (beforeConvStr.getBytes (), afterConvByteArr), true); }

6. Konvertálás Húr nak nek CharArray

Annak érdekében, hogy a Húr a CharArray például egyszerűen használhatjuk toCharArray ():

@Test public void whenConvertedToCharArr_thenCorrect () {String beforeConvStr = "hello"; char [] afterConvCharArr = {'h', 'e', ​​'l', 'l', 'o'}; assertEquals (Arrays.equals (beforeConvStr.toCharArray (), afterConvCharArr), true); }

7. Konvertálás Húr nak nek logikai vagy Logikai

Átalakítani a Húr példány primitív logikai vagy Logikai burkoló típus, használhatjuk parseBoolean () vagy értéke() API-k:

@Test public void whenConvertedToboolean_thenCorrect () {String beforeConvStr = "true"; logikai afterConvBooleanPrimitive = true; assertEquals (Boolean.parseBoolean (beforeConvStr), afterConvBooleanPrimitive); } @Test public void whenConvertedToBoolean_thenCorrect () {String beforeConvStr = "true"; Boolean afterConvBoolean = true; assertEquals (Boolean.valueOf (beforeConvStr), afterConvBoolean); }

8. Konvertálás Húr nak nek Dátum vagy LocalDateTime

A Java 6 biztosítja a java.util.Dátum adattípus a dátumok ábrázolásához. A Java 8 új API-kat vezetett be a Dátum és Idő az idősebbek hiányosságainak orvoslására java.util.Dátum és java.util.Naptár.

További részletekért olvassa el ezt a cikket.

8.1. Konvertálás Húr nak nek java.util.Dátum

Megtérés érdekében Húr kifogásolja Dátum objektumokat, először meg kell építenünk a SimpleDateFormat objektumot a dátum és az idő formátumát leíró minta átadásával.

Például a minta lehetséges értéke lehet „MM-dd-yyyy" vagy "yyyy-MM-dd". Ezután meg kell hívnunk elemzés módszer a Húr.

A Húr Az argumentumként megadott értéknek ugyanabban a formátumban kell lennie, mint a mintának. Egyébként a ParseException futás közben dobják:

@Test public void whenConvertedToDate_thenCorrect () ParseException {String beforeConvStr = "15/10/2013" dobja; int afterConvCalendarDay = 15; int afterConvCalendarMonth = 9; int afterConvCalendarYear = 2013; SimpleDateFormat formatter = új SimpleDateFormat ("éééé / h / éééé"); Date afterConvDate = formatter.parse (beforeConvStr); Naptári naptár = new GregorianCalendar (); calendar.setTime (afterConvDate); assertEquals (calendar.get (Calendar.DAY_OF_MONTH), afterConvCalendarDay); assertEquals (calendar.get (Calendar.MONTH), afterConvCalendarMonth); assertEquals (calendar.get (Calendar.YEAR), afterConvCalendarYear); }

8.2. Konvertálás Húr nak nek java.time.LocalDateTime

LocalDateTime egy megváltoztathatatlan dátum-idő objektum, amely egy időt reprezentál, gyakran nézve év-hónap-nap-óra-perc-másodperc.

A String objektumok konvertálásához LocalDateTime objektumokat, egyszerűen használhatjuk a elemzés API:

@Test public void whenConvertedToLocalDateTime_thenCorrect () {String str = "2007-12-03T10: 15: 30"; int afterConvCalendarDay = 03; Hónap afterConvCalendarMonth = hó.DECEMBER; int afterConvCalendarYear = 2007; LocalDateTime afterConvDate = new UseLocalDateTime (). GetLocalDateTimeUsingParseMethod (str); assertEquals (afterConvDate.getDayOfMonth (), afterConvCalendarDay); assertEquals (afterConvDate.getMonth (), afterConvCalendarMonth); assertEquals (afterConvDate.getYear (), afterConvCalendarYear); }

A Húr érvényes időt kell képviselnie a java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME szerint. Egyébként a ParseException futás közben dobják.

Például '2011-12-03’Érvényes karakterlánc-formátumot jelent, amelynek négy számjegye van az évre, 2 számjeggyel a hónapra egy évre és 2 számjeggyel a hónap napjára.

9. Következtetés

Ebben a gyors bemutatóban különféle segédprogram-módszereket ismertettünk az S konvertálásáhoztring objektumok a java által támogatott különböző adattípusokhoz.

A cikk teljes forráskódja és összes kódrészlete elérhető a GitHubon.