JavaRush /Java 博客 /Random-ZH /Java 参考。静态字符串
articles
第 15 级

Java 参考。静态字符串

已在 Random-ZH 群组中发布
Java中的字符串由String类描述,并且是静态的,即 在现有行中,您无法更改字符及其数量。除了通过 new 运算符进行标准创建之外,还可以直接从字符串文字创建字符串。同时,为了优化目的,以这种方式创建的对象额外存储在一个单独的区域——字符串池中。 String s1 = "d" // строка будет сохранена в пуле // строка не будет сохранена в пуле // будет уничтожена сборщиком мусора String s2 = new String("a"); 将字符串分为静态和动态的优点之一是,它可以提高使用字符串作为参数的安全性(例如,打开数据库、Internet 连接、类加载机制)。

操作+

+ 操作可用于字符串,允许您将多个字符串合并为一个。如果其中一个操作数不是字符串,则会自动转换为字符串。对于对象,toString 方法就是用于此目的。每个操作内部都使用动态 StringBuilder 或 StringBuffer 对象。因此,要将多个字符串组装成一个字符串,最好一次使用一个 StringBuilder/StringBuffer。

子串选择

关于 substring 方法有一个注释 - 返回的字符串使用与原始字符串相同的字节数组。例如,您从 1MB 文件中下载了 A 行。他们在那里发现了一些东西,并将其分成单独的 B 行,3 个字符长。B线实际上也占用同样的1MB。 String s ="very .... long string from file"; // совместно использует ту же память что и s String sub1 = s.substring(2,4); // этот an object использует отдельный массив на 4 символа String sub2 = new String(s.substring(2,4));

基本方法

  • compareTo (String anotherString) - 字符串的词典比较;
  • CompareToIgnoreCase (String str) - 字符串的不区分大小写的词典比较;
  • RegionMatches (booleanignoreCase, int toffset, String other, int ooffset, int len) - 测试字符串区域的标识,可以指定区分大小写;
  • RegionMatches (int toffset, String other, int ooffset, int len) - 测试字符串区域的标识;
  • concat (String str) - 返回两个字符串的串联;
  • contains (CharSequence s) - 检查指定的字符序列是否包含在字符串中;
  • endsWith (String suffix) - 检查字符串是否以指定后缀结尾;
  • startsWith (String prefix) - 检查字符串是否以指定的前缀开头;
  • startsWith (String prefix, int toffset) - 检查指定位置的字符串是否以指定前缀开头;
  • equals (Object anObject) - 检查字符串是否与指定对象相同;
  • getBytes ()——返回字符串的字节表示形式;
  • getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin) - 返回字符串的一部分的字符表示形式;
  • hashCode () - 字符串的哈希码;
  • indexOf (int ch) - 搜索字符串中第一次出现的字符;
  • indexOf (int ch, int fromIndex) - 从指定位置开始搜索字符串中第一次出现的字符;
  • indexOf (String str) - 搜索指定子字符串的第一次出现;
  • indexOf (String str, int fromIndex) - 从指定位置搜索指定子字符串的第一次出现;
  • lastIndexOf (int ch) - 搜索最后一次出现的符号;
  • lastIndexOf (int ch, int fromIndex) - 从指定位置开始搜索最后一次出现的字符;
  • lastIndexOf (String str) - 搜索字符串最后一次出现的位置;
  • lastIndexOf (String str, int fromIndex) - 从指定位置搜索最后一次出现的字符串;
  • Replace (char oldChar, char newChar) - 将字符串中的一个字符替换为另一个字符;
  • Replace (CharSequence target, CharSequence replacement) - 将一个子字符串替换为另一个子字符串;
  • substring (int beginIndex, int endIndex) - 以字符串形式返回子字符串;
  • toLowerCase ()——将字符串转换为小写;
  • toLowerCase (Locale locale) - 使用指定的区域设置将字符串转换为小写;
  • toUpperCase() - 将字符串转换为大写;
  • toUpperCase (Locale locale) - 使用指定的区域设置将字符串转换为大写;
  • Trim() - 修剪字符串末尾的空字符;
  • valueOf(a) - 用于将各种类型转换为字符串的静态方法。
搜索方法返回出现的索引,如果未找到搜索的项目,则返回 -1。Replace 等转换方法不会修改字符串本身,而是返回相应的新字符串对象。 使用正则表达式的方法 字符串也有许多使用正则表达式的方法:
  • matches (String regex) - 字符串是否与指定的正则表达式匹配;
  • ReplaceAll (String regex, String rplс) - 将所有出现的满足正则表达式的字符串替换为指定字符串;
  • ReplaceFirst (String regex, String rplс) - 用指定字符串替换第一次出现的与正则表达式匹配的字符串;
  • split (String regex) - 将字符串拆分为多个部分,拆分的边界是满足正则表达式的字符串的出现次数;
  • split (String regex, int limit) - 与前一个类似,但限制是将正则表达式应用于字符串到限制值。如果limit>0,则返回的字符串数组的大小不会超过limit。如果 limit<=0,则正则表达式将无限次应用于字符串。
链接到原始来源:http://darkraha.com/rus/java/lang/string/static_string.php
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION