| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> MVEL快速入门—MVEL基础语法讲解(一) -> 正文阅读 |
|
[Java知识库]MVEL快速入门—MVEL基础语法讲解(一) |
概述? MVEL是从英文翻译而来的,MVFLEX表达式语言是Java平台的动态/静态混合类型的运行时可嵌入表达式语言。该项目最初是作为应用程序框架的实用语言开始的,现在已完全独立开发。MVEL通常用于通过XML文件或注释等配置将基本逻辑公开给最终用户和程序员。它也可以用来解析简单的JavaBean表达式。 ? 在一些项目中我们需要对一些场景进行过滤并允许用户配置的时候,通常会采用MVEL表达式,比如:指定条件下更新数据;指定条件下采集数据等。 相关文章?🔥?Java解析执行MVEL表达式 基本语法部分 简单属性表达? 下面是最简单的属性表达,他表示了从当时场景的上下文中获取一个student对象的name属性值,属性表达式是最常见的用途之一,允许 MVEL 用作性能非常高、易于使用、反射优化器。
? 当然,我们还可以对它进行比较等操作,和Java代码类似:
? 上面的表达式将会为我们返回一个boolean类型的结果,表示比对student.name是否等于“ZhangSan” ,其实除此之外,他还支持基本的运算优先级和括号的执行顺序,比如:
多语句表达? MVEL同样支持多语句表达的形式,每一个语句最后都需要使用 “ ; ” (半角分号)进行分割。最后一句或只有一句的场景不需要分号。另外注意!不能用换行代替分号。比如:
返回值? MVEL不需要显示的 return 需要返回的内容,它将自动获取最后一个语句的结果。比如:
? 以上语句将返回b的最终结果,也就是200。 值检测判空? 类似于我们在Java中的判空操作,它为我们提供了类似于 Strings.isEmpty(String s) 的操作,能够直接判断出值是否是空的。
? 如果 str 是 null 或 “” 将会返回true,否则返回false 判空或零? 在一些基础类型中,我们可能需要排除值为0的场景;亦或是一些需要判断等于0或null的场景,请使用: null 或 nil 。下面举例中 例1 和 例2 完全相同:
自动强转性? 在MVEL中,类似于一些类型不敏感的语言,它具有自动转型的能力,比如下面的语句,将会返回 true 的结果:
List / Arrays / Map 表达Map? MVEL提供了一种非常优雅的形式表达此类内容,整体赋值的感觉和php有些许类似但又有不同。 ? 比如表达一个Map<String, Person> 类型的数据,您可以使用下面的语句:
? 上面的代码相当于:
? 而且这种表达形式还可以直接作为方法的参数,比如下面语句是合法的:
? 总结来说,Map的格式表示:"[键1: 值1, 键2: 值2, ...]" List? List的表达方式是很简单,方括号中写需要的值就可以,中间使用逗号进行分割:
Array? 值的注意的是,Array表达形式和我们的List表达并不一样,两边换成了 {} ,比如:
内联数组? 关于内联数组,需要了解的一个重要方面是它们可以被强制转换成其他数组类型的特殊能力。当你声明一个内联数组时,它是没有类型的,但比如说你要传递给一个接受int[]的方法。你可以简单地把你的代码写成下面这样。
后续? 欢迎查看后续内容,将介绍属性、Java解析等内容 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 14:43:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |