Groovy def 和 Java 对象之间的区别?

2024-03-29

我试图找出两者之间的区别

Groovy:

def name = "stephanie"

Java:

Object name = "stephanie"

由于两者似乎都充当与它们交互的对象,因此我必须将它们转换为原始的预期类型。

我最初是在寻找 C# 动态类的 java 等价物(Java相当于C#动态类类型吗? https://stackoverflow.com/questions/3935832/java-equivalent-to-c-dynamic-class-type)并建议查看 Groovy 的def

例如,我对 groovy 的 def 的印象是我可以执行以下操作:

def DOB = new Date(1998,5,23);
int x = DOB.getYear();

但这不会建立

谢谢,斯蒂芬

解决方案编辑: 事实证明,我犯的错误是我有一个用 def 定义的带有公共属性的常规类(在上面的 DOB 示例中),但随后尝试从 .java 类访问它们(在上面的示例中调用 .getYear() ) )。这是一个菜鸟错误,但问题是一旦对象离开 Groovy 文件,它就会被简单地视为对象。感谢你的帮助!


就其本身而言,这两种说法没有太大区别;但由于 Groovy 是一种动态语言,因此您可以编写

def name = "Stephanie"
println name.toUpperCase() // no cast required

而您需要在 Java 版本中进行显式转换

Object name = "Stephanie";
System.out.println(((String) name).toUpperCase());

是因为,def在 Groovy 中比毫无根据地使用更有意义Object在爪哇。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Groovy def 和 Java 对象之间的区别? 的相关文章

  • PDFBox 更改线条颜色

    我使用 pdfbox 1 8 5 并尝试使用绘制彩色线PDPageContentStream drawLine 我尝试过PDPageContentStream setNonStrokingColor 255 0 0 但它不起作用 我也没有找
  • 如何使用Gson序列化Optional类?

    我有一个具有以下属性的对象 private final String messageBundle private final List
  • 为什么源码中的根包叫“com”? [复制]

    这个问题在这里已经有答案了 在大多数源代码中 根包 文件夹被命名为 com 为什么会这样 它只是约定俗成还是代表着什么 The 习俗 http download oracle com javase tutorial java package
  • 如何在 Spring MVC 中使用延迟加载

    Spring MVC中如何使用延迟加载 我现在正在使用 eager 但这会使我的应用程序运行速度变慢 这是我的域的一部分 ManyToMany fetch FetchType EAGER JoinTable name NEWS TAG jo
  • 如何使 Java 中的自定义泛型类型链表排序?

    我正在用 java 编写自己的泛型链表 而不是使用 java 集合链表 链表的add方法由以下代码组成 public void add T item int position Node
  • 与Java混淆覆盖访问级别[重复]

    这个问题在这里已经有答案了 可能的重复 为什么不能降低java子类中方法的可见性 https stackoverflow com questions 1600667 why cant you reduce the visibility of
  • 我们如何使用 StringBuilder 在字符串前面添加字符串?

    我知道我们可以使用附加字符串StringBuilder 有没有一种方法可以使用前置字符串 即在字符串前面添加字符串 StringBuilder这样我们就可以保持性能优势StringBuilder offers 使用位置参数设置为 0 的 i
  • Jackson @JsonRawValue 获取地图的值

    我有以下 Java bean 类 使用 Jackson 将其转换为 JSON public class Thing public String name JsonRawValue public Map content new HashMap
  • Java 方法存根

    这就是我必须做的 为下面的 main 调用的方法定义存根 每个存根应打印 FIXME Finish methodName 后跟换行符 并应返回 1 输出示例 FIXME Finish getUserNum FIXME Finish getU
  • 如何使用 poi 获取 java 中单元格的数据验证源?

    I have defined a list of valuses my list in one excel sheet as follow 在另一个 Excel 工作表中 我将某些单元格引用到该列表 以便该列表在单元格中显示为下拉列表 如下
  • 单击 libGDX 中的 Actor

    我的游戏中有一个覆盖层 其中包含屏幕图像和屏幕 上 的一组按钮 截屏 My Screen有一个Stage The Stage有一组Group对象 我将其视为图层 第一组具有背景 中间的组具有游戏元素 最前面的组具有屏幕覆盖 覆盖层由一个Im
  • Clojure/Java:用于声音频谱分析的 Java 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以接受大量音频数据并返回给定频带内随时间变化的平均幅度的库 我已经在 comp dsp
  • 如何在 Groovy 中执行引用等于?

    Groovy 将 映射到 eq uals 通常很方便 但是当我想按同一性进行比较时该怎么办 例如 GPathResult通过调用text 来实现equals 对于大多数内部节点来说它是空的 我正在尝试识别根节点 但通过该实现这是不可能的 如
  • 编写无 BOM 的 UTF-8

    这段代码 OutputStream out new FileOutputStream new File C file test txt out write A getBytes 和这个 OutputStream out new FileOu
  • 如何从 Java 中的字符串表示形式获取 Locale?

    有没有一种巧妙的方法来获得Locale http java sun com javase 6 docs api java util Locale html来自 Locale 返回的 编程名称 的实例toString 方法 一个明显且丑陋的解
  • 如何停止在控制台上打印异常堆栈跟踪?

    我编写了一个 Servlet 来处理 Web 应用程序中发生的异常 并将它们映射到 web xml 中
  • 在自定义 BaseAdapter 子类中使用 Butter Knife 会导致“无法注入视图”错误

    我正在尝试使用 Butter Knife 来简化自定义 BaseAdapter 类的创建 我正在遵循这里的示例 http jakewharton github io butterknife http jakewharton github i
  • Android 每个 Activity 中的通用进度条

    我已经修改了解决方案 我可以获得进度条 但进度条永远不会隐藏 这是创建具有相对布局的进度条的类 public class ProgressBarHandler private ProgressBar mProgressBar private
  • 使用 libGDX 写入 Json

    我是 Json 和 libGDX 的新手 但我创建了一个简单的游戏 我想将玩家姓名及其分数存储在 Json 文件中 有没有办法做到这一点 我想创建一个 Json 文件Gdx files localStorage如果它不存在 如果存在 则向其
  • 为什么不建议将常量存储在单独的类中?

    有人告诉我 我在其他一些地方也看到过这种说法 不建议将常量存储在 Java 中的单独类中 以便在其他类中使用它们 但我没有看到任何地方为什么会这样 我不应该将它们存储在自己的接口 类中的原因是什么 我从 C 转到 Java 在 C 中我只想

随机推荐

  • 使用标签和优先级记录到 Crashlytics,而无需发送到 logcat

    根据以下说明 有两种方式登录 Crashlytics文档 https docs fabric io android crashlytics enhanced reports html custom logging Crashlytics l
  • 如何捕获通过读/写文件引发的所有异常?

    在Java中 有没有办法获取 捕获 所有exceptions而不是单独捕获异常 如果需要 您可以向方法中添加 throws 子句 那么你不必立即捕获检查的方法 这样 您就可以抓住exceptions稍后 也许与其他时间同时 exceptio
  • 将 SWIG 与构建系统结合使用[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有人有使用 SWIG 界面生成器 的
  • Codeigniter 数据库插入失败

    目前在我的控制器中 当添加新数据时 我会验证输入 如果存在任何问题 它会让用户知道 否则它将数据传递到模型以插入到数据库中 现在我如何检查插入语句在模型中是否正常工作 并让用户知道是否没有 像下面这样的插入语句是否返回 true 或 fal
  • HTML5 视频自动播放且声音未静音

    我需要在我的网站上实现本地自动播放视频 不过 我知道 当视频没有 静音 属性时 较新的浏览器 即 Chrome Mozilla 和 Safari 会阻止自动播放 所以 有没有办法通过 HTML 或 Javascript 中的任何技巧在 HT
  • 成员函数定义

    正确的做法是什么 定义成员 类 函数inside班上 定义成员 类 函数outside班上 Thanks 假设您正在谈论这三种可能性 头文件中的类定义中定义的方法 方法在头文件中定义在类定义之外 方法定义在实现文件中的类定义之外 那么项目和
  • node_modules/@types/react-dom/... 处出现错误。后续变量声明必须具有相同的类型。变量“a”

    我已经安装了 types react dom 以及 typescript types react 和 types meteor 但是当我尝试从命令行运行类型检查器时 出现以下错误 您可以在此处重现错误并查看我的所有配置 https gith
  • 强制嵌入推文为 100% 宽度

    我试图通过将宽度设置为 100 来强制嵌入的推文做出响应式行为 我尝试按如下方式调整内联宽度 blockquote class twitter tweet width 100 blockquote 我还尝试对 twitter tweet 类
  • C 字符串初始值设定项不包含终止符?

    我对以下 C 代码片段有点困惑 printf Peter string is d bytes n sizeof Peter Peter string is 6 bytes 这告诉我 当 C 编译双引号中的字符串时 它会自动为空终止符添加一个
  • 使用Gson时出现奇怪的“nameValuePairs”键

    我正在尝试重建一个Object从它的字段 我将字段作为 JSONObject 获取 如下所示 JSONObject jObj new JSONObject JSONObject jObj1 new JSONObject JSONObject
  • Apache CXF 客户端代理设置

    我正在尝试使用以下教程开发肥皂服务的消费者http cxf apache org docs developing a consumer html http cxf apache org docs developing a consumer
  • GNU Mailman 的简单/轻量级替代品?

    我正在寻找一个非常简单的邮件列表 unix 友好 稳健性 细粒度可配置性 企业就绪性 无论这意味着什么 都不是要求 我只需要为几个朋友建立一个小型邮件列表 我不想自己破解一些东西 而是想知道是否有人知道已经有类似目标的东西 我现在应该注意的
  • 如何使用 log4j2 Commons 日志桥

    我想将 log4j2 Commons Logging Bridge 与 commons 1 2 一起使用 我尝试使用如下内容 import org apache logging log4j jcl LogFactoryImpl public
  • 在 ASP.net MVC 中通过 jQuery 在客户端本地化验证消息

    我使用 jquery 进行客户端验证以及数据注释 一切工作正常 但我想在数字文本框中输入非数字值时本地化消息 对于服务器端验证 可以通过将 DefaultModelBinder ResourceClassKey 设置为资源类名称并为 Pro
  • 如何获取手机的位置

    我正在编写一个管理非常大的表的脚本 当用户单击表格单元格时 我想知道他们单击了哪个单元格 例如 Click 应该给我一个 1 1 的单元格引用 无论如何我都可以用 javascript 来做到这一点 它运行的页面将 jquery 用于其他目
  • 如何像在 Matlab 中一样在 Java 中绘制绘图(相同语法)

    在 Matlab 中绘图非常简单明了 例如 figure Position 100 80 1000 600 plot x y1 or MarkerSize 0 2 MarkerFaceColor r LineWidth 2 xlabel M
  • 关于“在 DirectShow 之外使用 DirectShow 过滤器?”

    我在以下链接中有完全相同的问题 在 DirectShow 之外使用 DirectShow 过滤器 https stackoverflow com q 3458868 683527我是一名刚开始执导节目的人 该堆栈中的两个答案对我来说还不够清
  • 在登录视图中找到控件

    I have a masterpage with a loginview in the loginview i have an asp login control i also have a label that is NOT contai
  • 通过 pyspark.ml CrossValidator 调整隐式 pyspark.ml ALS 矩阵分解模型的参数

    我正在尝试调整使用隐式数据的 ALS 矩阵分解模型的参数 为此 我尝试使用 pyspark ml tuning CrossValidator 运行参数网格并选择最佳模型 我相信我的问题出在评估器上 但我无法弄清楚 我可以使用回归 RMSE
  • Groovy def 和 Java 对象之间的区别?

    我试图找出两者之间的区别 Groovy def name stephanie Java Object name stephanie 由于两者似乎都充当与它们交互的对象 因此我必须将它们转换为原始的预期类型 我最初是在寻找 C 动态类的 ja