如何在 java 字符串值中传递大 no.of 字符

How to pass large no.of characters in java string value

如何在字符串值中传递大 no.of 字符。通常我们通过private final String title="Test String"。但是如何在字符串中传递以下值。

**Test HTML code to insert** 

<div id="dededededededede">
Fill out my <a href="https://google.google.com/forms/z1dededede43434niu3pq">frfrtgte form</a>.
</div>

'autoResize':true,
'height':'575',
'async':true,
'host':'dede.com',
'header':'sdedew',
'ssl':true};

s.src = ('https:' == d.state.protocol ? 'https://' : 'http://') + 'secure.deded.com/scripts/embed/form.js';
s.onload = s.onreadystatechange = function() {
var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return;
try { z1pmdedefr443434frfpq = new googleForm();z1pdedede4343434u3pq.initialize(options);z1pmkdedede434343niu3pq.display(); } catch (e) {}};
var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr);
})(document, 'script');</script>

对于较新的 Java1,您可以使用 Text Blocks,例如:

String text = """
        **Test HTML code to insert** 
        
        <div id="dededededededede">
            Fill out my <a href="https://google.google.com/forms/z1dededede43434niu3pq">frfrtgte form</a>.
        </div>
        
        'autoResize':true,
        'height':'575',
        'async':true,
        'host':'dede.com',
        'header':'sdedew',
        'ssl':true};
        
        s.src = ('https:' == d.state.protocol ? 'https://' : 'http://') + 'secure.deded.com/scripts/embed/form.js';
        s.onload = s.onreadystatechange = function() {
            var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return;
            try { z1pmdedefr443434frfpq = new googleForm();z1pdedede4343434u3pq.initialize(options);z1pmkdedede434343niu3pq.display(); } catch (e) {}};
        var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr);
        })(document, 'script');</script>
        """;

简而言之:允许引号和行分隔符;结束 """ 的缩进很重要 - 定义行首的空格数将被删除。另见 JEP 368 or the corresponding chapter of the Java Language Specification.


替代 如果文本块不可用(不太新的 Java 版本):

  • 行分隔符必须添加到文本:\n,或 Windows 的 \r\n 或只是 System.lineSeparator();
  • 的结果
  • 必须转义双引号:\";
  • 反斜杠也必须转义(如果存在):\
  • 多行can/should用于提高可读性

示例:

String text = ""   // the empty string here is just for nicer formatting
        + "**Test HTML code to insert**\n"
        + "<div id=\"dededededededede\">\n"
        + "  Fill out my <a href=\"https://google.google.com/forms/z1dededede43434niu3pq\">frfrtgte form</a>.\n"
        + "</div>\n"
        + ...
        + "})(document, 'script');</script>";

注意:编译器创建一个单一的()字符串文字,尽管使用了+[=47],但在运行时没有执行连接=]


1 Java 15 或更高版本,Java 14

中的预览功能