ããã¹ãã»ãããã¯ãšã¯
ããã¹ãã»ãããã¯ã¯ãæ¹è¡ãã¯ã©ãŒããŒã·ã§ã³ãªã©ãå«ãã æååãç°¡åã«å®çŸ©ã§ããæ°ããææ³ã§ãããJavaã®Stringã¯ã©ã¹ã䜿ã£ãŠæååã宣èšããå Žåãéåžžã§ããã°ãæ¹è¡ãåŒçšç¬Šã¯æ¬¡ã®ããã«ãšã¹ã±ãŒãæåã䜿çšããŠèšè¿°ããå¿ èŠãããããŸããæååãè€æ°è¡ã«åããŠèšè¿°ãããå Žåã«ã¯é£çµæŒç®åïŒ+ïŒã䜿ããªããã°ãªããªããæ¬¡ã®ãããªå ·åã ã
String str = "Hello, Mynavi readers,\n" +
"This is an article \n" +
"that introduces new features of the \"modern\" Java platform.\n";
ãã®èšè¿°æ³ã¯éåžžã«ãã䜿ãã«ãããããããã³ãŒããèªã¿ã¥ããããäžã«èšè¿°éãå¢ãããšããåé¡ãæ±ããŠãããããã¹ãã»ãããã¯ã䜿çšããå Žåãäžã®ã³ãŒãã¯æ¬¡ã®ããã«èšè¿°ã§ããã
String str = """
Hello, Mynavi readers,
This is an article
that introduces new features of the "modern" Java platform.
""";
ããã«ã¯ã©ãŒããŒã·ã§ã³ã3ã€ã€ãªãããã®ïŒ"""ïŒããããã¹ãã»ãããã¯ã®éå§ãšçµäºã衚ããããã¹ãã»ãããã¯ã®äžã§ã¯ãæ¹è¡ãªã©ã®ç¹æ®æåã«ã€ããŠããã®ãŸãŸèšè¿°ããããšãã§ããããããã£ãŠããã®Stringãprintfã§åºåãããšæ¬¡ã®ããã«ãªãã
Hello, Mynavi readers,
This is an article
that introduces new features of the "modern" Java platform.
ãã ããéå§ã®"""ã®åŸã«ã¯æååãã€ãªããããšã¯ã§ãããå¿ ãæ¹è¡ããªããã°ãªããªãïŒ"""ãšæ¹è¡ã®éã®ç©ºçœã¯ç¡èŠãããïŒã
ããã¹ãã»ãããã¯ã¯JEP 378ãšããŠã仿§ã®çå®ãšå®è£ ãé²ããããŠãããæåã®ãã¬ãã¥ãŒçïŒJEP 355ïŒã䜿ããããã«ãªã£ãã®ã¯Java 13ã§ããã®åŸãšã¹ã±ãŒãæåã®æ±ããªã©è¥å¹²ã®ä»æ§å€æŽãå ãã£ããã®ãJEP 368ãšããŠJava 14ã«è¿œå ããããäºå®éãé²ãã°ã2020幎9æã«ãªãªãŒã¹ãããJava 15ã§æ£åŒçãšãªãã
ããã¹ãã»ãããã¯ã®äœ¿ãæ¹
ããã¹ãã»ãããã¯ã¯ãçŸæç¹ã§ã¯ãŸã ãã¬ãã¥ãŒçãªã®ã§ãæ®éã«ã³ã³ãã€ã«ãããšæ¬¡ã®ããã«ãšã©ãŒã«ãªã£ãŠããŸãã
$ javac TextBlockSample.java
TextBlockSample.java:3: ãšã©ãŒ: ããã¹ãã»ãããã¯ã¯ãã¬ãã¥ãŒæ©èœã§ãããããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããŸãã
String str = """
^
(ããã¹ãã»ãããã¯ãæå¹ã«ããã«ã¯--enable-previewã䜿çšããŸã)
ãšã©ãŒ1å
ãã¬ãã¥ãŒçã®æ©èœã䜿ãããå Žåã¯ã次ã®ããã«ã--enable-previewããšã--releaseãã®2ã€ã®ã³ã³ãã€ã«ãªãã·ã§ã³ãæç€ºçã«æå®ããã°ãããä»åã¯å¯Ÿè±¡ããŒãžã§ã³ãJava 14ãªã®ã§ã--releaseã«ã¯14ãæå®ããŠãããèŠåãåºãããæå³çã«äœ¿ã£ãŠããã®ã§ããã¯ç¡èŠããŠãããã
$ javac --enable-preview --release 14 TextBlockSample.java
泚æ:TextBlockSample.javaã¯ãã¬ãã¥ãŒèšèªæ©èœã䜿çšããŸãã
泚æ:詳现ã¯ã-Xlint:previewãªãã·ã§ã³ãæå®ããŠåã³ã³ãã€ã«ããŠãã ããã
å®è¡æããåæ§ã« --enable-preview ãªãã·ã§ã³ãæå®ããã
$ java --enable-preview TextBlockSample
Hello, Mynavi readers,
This is an article
that introduces new features of the "modern" Java platform.
ã¡ãªã¿ã«IntelliJ IDEAã§ã¯ã次ã®ããã«Language Levelã®æå®ã«ãã£ãŠãããžã§ã¯ãåäœã§ãã¬ãã¥ãŒæ©èœã䜿çšãããåŠããéžæã§ããããã«ãªã£ãŠããã
ããã¹ãã»ãããã¯ã¯ãå éšçã«ã¯éåžžã®Stringãšåããªã®ã§ã次ã®ããã«Stringãªãã©ã«ãå ¥ããããå Žæã§ããã°ã©ãã§ã䜿ãããšãã§ããã
System.out.println("""
Hello, Mynavi readers,
This is an article
that introduces new features of the "modern" Java platform.
""");
ã€ã³ãã³ãã¯ããããã¯äžã®æååã®äžçªã€ã³ãã³ããæµ ãè¡ãåºæºã«ãªããæ¬¡ã®äŸã®å ŽåããHello, Mynavi readers,ãããŒãã»ã€ã³ãã³ãã§ãã»ãã®è¡ã¯ãã®äœçœ®ãåºæºã«å é ã«ç©ºçœãæ¿å ¥ãããã
String str = """
Hello, Mynavi readers,
This is an article
that introduces new features of the "modern" Java platform.
""";
ãã®æååã¯ã2è¡ç®ãš3è¡ç®ãã€ã³ãã³ããããŠæ¬¡ã®ããã«ãªãã
Hello, Mynavi readers,
This is an article
that introduces new features of the "modern" Java platform.
ããã¹ãã»ãããã¯å ã§ã¯ãè¡æ«ã®ç©ºçœã¯ç¡èŠãããããããæç€ºçã«ç©ºçœãæ¿å ¥ãããå Žåã¯ã次ã®ããã«ã\sããå ¥ããã°ããã
String str = """
Hello, Mynavi readers,\s
This is an article\s\s
that introduces new features of the "modern" Java platform.
""";
è¡æ«ã®ã\sãã®éšåã¯ã次ã®ããã«ãã¹ãŠç©ºçœã«çœ®ãæããïŒã_ãã®éšåã¯å®éã¯ç©ºçœïŒã
Hello, Mynavi readers,_
This is an article__
that introduces new features of the "modern" Java platform.
æ¹è¡ããšã¹ã±ãŒããããå Žåã¯ãè¡æ«ã«ã\ããèšè¿°ããã
String str = """
Hello, Mynavi readers, \
This is an article \
that introduces new features of the "modern" Java platform.
""";
ãã®å Žåãæ¬¡ã®ããã«æ¹è¡ããªãæååã«ãªãã
Hello, Mynavi readers, This is an article that introduces new features of the "modern" Java platform.
ããã¹ãã»ãããã¯ã§å®çŸ©ããæååã¯ãéåžžã®æååãšåæ§ã«æååé£çµåïŒ+ïŒã§é£çµããããšãã§ãããæ¬¡ã®äŸã§ã¯ãéåžžã®æååãªãã©ã«ãšãString倿°ããããŠããã¹ãã»ãããã¯ãé£çµããŠããã
String target = "ãã€ããèªè
";
String str6 = "Hello, " + target + ",\n" +
"""
This is an article
that introduces new features of the "modern" Java platform.
""";
çµæã¯æ¬¡ã®ããã«ãªãã
Hello, ãã€ããèªè
,
This is an article
that introduces new features of the "modern" Java platform.
Stringã®é£çµãè¡ãããçç±ã®1ã€ãšãã¯ãäžã®ããã«éäžã§å€æ°ã®å€ãæ¿å ¥ããããšããããšãæããããã+ã§é£çµããŠãããããStringã¯ã©ã¹ã«æ°ãã«è¿œå ãããformatted()ã¡ãœããã䜿ã£ãŠæ¬¡ã®ããã«ããã·ã³ãã«ã«æžãããšãã§ããã
String str = """
Hello, %s,
This is an article
that introduces new features of the "modern" Java platform.
""".formatted("ãã€ããèªè
");
fotmatted()ã¡ãœããã䜿ããšãCèšèªã®printfã®ãããªåœ¢åŒã§ãæååã®éäžã«ãã©ãŒãããæå®åã䜿ã£ãŠå€ãæ¿å ¥ããããšãã§ãããå éšçã«ã¯ãæ¢åã®format()ã¡ãœããã䜿ã£ããã©ãŒããããšåçã®ãã®ã«ãªã£ãŠããããã®ã¡ãœããã¯ããã¹ãã»ãããã¯ãšã»ããã§äœ¿ãããšãæ³å®ããŠçšæããããã®ãªã®ã§ãJava 14æç¹ã§ã¯ããã¹ãã»ãããã¯ãšåæ§ã«ãŸã ãã¬ãã¥ãŒæ±ãã«ãªã£ãŠããã
ããã¹ãã»ãããã¯ã®å®è·µäŸ
å®éã®éçºã§ãããã¹ãã»ãããã¯ãå©çšã§ãããããå¬ããã·ãŒã³ãããã€ãèããŠã¿ãããæ¬¡ã®ã³ãŒãã¯ãHTMLã¹ãããããã³ãŒãå ã«åã蟌ãéã«ããã¹ãã»ãããã¯ã䜿ã£ãäŸã§ãããåŸæ¥ã®ãšã¹ã±ãŒãæåã ããã®èšè¿°ã«æ¯ã¹ãã°æ Œæ®µã«å¯èªæ§ãäžãã£ãŠããã
String html = """
<html>
<body>
<p>Hello, Mynavi readers!</p>
</body>
</html>
""";
SQLã®ã¯ãšãªãããã¹ãã»ãããã¯ã䜿ã£ãŠèšè¿°ããŠã¿ããšã次ã®ããã«ãªãããšã¹ã±ãŒãæåããã®ãŸãŸèšè¿°ã§ããã®ãéåžžã«ãããããformatted()ã¡ãœãããçµã¿åãããã°ãäžå±€äœ¿ãåæã¯äžããããã ã
try(Connection connection = DriverManager.getConnection("URL", "USER", "PASSWORD")) {
Statement statement = connection.createStatement();
String query = """
SELECT *, FROM "employees"
WHERE "role" = 'manager'
ORDER BY "id";
""";
ResultSet resultSet = statement.executeQuery(query);
} catch (SQLException e) {
e.printStackTrace();
}
次ã®ã³ãŒãã¯ãScripting APIãå©çšããŠJavaScriptã³ãŒããJavaããã°ã©ã å ã§å®è¡ããäŸã§ãããã¹ã¯ãªãããçŽæ¥ããã¹ãã»ãããã¯å ã«æžã蟌ãããšãã§ããã
ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
try {
String script = """
function hello() {
print('"Hello, Mynavi readers!"');
}
hello();
""";
Object obj = engine.eval(script);
} catch (ScriptException e) {
e.printStackTrace();
}
ãã®ããã«ãããã¹ãã»ãããã¯ã¯ã·ã³ãã«ãªããã³ãŒãã£ã³ã°äœæ¥ãå€§å¹ ã«è»œæžããã³ãŒãã®å¯èªæ§ãäžããŠãããããã¬ãã¥ãŒæ©èœãšããç¹ã«çæããå¿ èŠã¯ããããå®çšæ§ãé«ãã®ã§ãã²æŽ»çšãããæ°æ©èœã ã

