可见 #parseRun 是运行包含“插值语法”的表达式,被包裹的内容被作为一个表达式单独运行;
字符串中可以包含多个插值语法表达式,但不能嵌套和交叉,也可以运行含有变量的表达式。
表示数字的字符之间应该是连续的,如:25、36.9 等;如果是不连续的会抛出异常,如:2 5、36 .9 等;
null、true / false、数字(int / double)、字符串,不能再是其他 Java 对象了RunnerUtil.run(" {:} "); // 总是返回一个空 HashMap,// 注意与空 List 的异同,都是用花括号表示// 但空 Map 里面需要有一个冒号,否则就是 ListRunnerUtil.run(" {key: 'value'}");// 总是返回包含一个键值对的 HashMap// 可以看出,对象的键名是字符串的话可以不用引号包裹// 但是值必须被包裹RunnerUtil.run(" {true: 'value'}"); // 键是 true/* * 这里的 true 不是字符串,而是 boolean。 * 同样,未被引号包裹的 null、false、数字都是对应类型的数据,而不是字符串 * 其他符合变量命名规则的键都是普通字符串,被单引号或双引号包裹的也是 */RunnerUtil.run(" {'true': 'value', 25: false, 'name': \"张三\"}");复制代码运算支持的类型:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |