⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringunmarshaller.java

📁 地图生成的一个文件
💻 JAVA
字号:
package com.google.gson;final class StringUnmarshaller {  static String unmarshall(String str) {    str = str.substring(1, str.length()-1);        int len = str.length();        StringBuilder sb = new StringBuilder(len);        int i = 0;        while (i < len) {      char c = str.charAt(i);            ++i;      if (c == '\\') {        char c1 = str.charAt(i);        ++i;        if (c1 == 'u') { // This is a unicode escape          // TODO(inder): Handle the case where code points are of size bigger than 4           int codePoint = getCodePoint(str, i);          sb.appendCodePoint(codePoint);          i += 4;                   } else {          char escapedChar = getEscapedChar(str, c1);          sb.append(escapedChar);        }      } else {        sb.append(c);      }    }    return sb.toString();  }  private static int getCodePoint(String str, int i) {//    int codePoint = Character.codePointAt(str, i);    String s = str.substring(i, i+4);    int codePoint = Integer.parseInt(s, 16);    return codePoint;  }  private static char getEscapedChar(String str, char c) {    char ch;    switch (c) {      case 'n':        ch = '\n';        break;      case 'b':        ch = '\b';        break;      case 'f':        ch = '\f';        break;      case 't':        ch = '\t';        break;      case 'r':        ch = '\r';        break;      case '\"':        ch = '\"';        break;      case '\'':        ch = '\'';        break;      case '\\':        ch = '\\';        break;      case '/':        ch = '/';        break;      default:        throw new IllegalStateException("Unexpected character: " + c + " in " + str);    }    return ch;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -