当前位置: 首页 > 面试题库 >

如何在Scala中声明字节数组?

邓英卓
2023-03-14
问题内容

在Scala中,我可以这样声明一个字节数组

val ipaddr: Array[Byte] = Array(192.toByte, 168.toByte, 1.toByte, 9.toByte)

这太冗长了。有没有更简单的方法来声明Byte数组,类似于Java的

byte[] ipaddr = {192, 168, 1, 1};

请注意,由于.String 中的,以下结果导致错误

InetAddress.getByAddress("192.168.1.1".toByte)

问题答案:

我相信您能做的最短的是

val ipaddr = Array[Byte](192.toByte, 168.toByte, 1, 9)

必须192和转换168为字节,因为它们不是有效的字节文字,因为它们超出了有符号字节的范围([-128,127])。

请注意,Java也是如此,以下给出了编译错误:

byte[] ipaddr = {192, 168, 1, 1};

您必须将192和168强制转换为字节:

byte[] ipaddr = {(byte)192, (byte)168, 1, 1};


 类似资料:
  • 问题内容: 我想知道如何在bash中声明2D数组,然后初始化为0。 在C中看起来像这样: 以及如何为元素分配值?如在C中: 问题答案: 您可以使用例如哈希来模拟它们,但需要注意前导零和许多其他事情。下一个演示有效,但远非最佳解决方案。 上面的示例创建了一个具有随机数的4x5矩阵,并将其打印后转置,示例结果 原理是:创建一个关联数组,其中索引是类似的字符串。好处: 可以用于任意维度的数组;)像:3维

  • 我正在处理打字稿,并将一个函数传递给另一个函数。 如果我有一个传递到typescript中另一个函数的函数,我应该如何编写类型? 我尝试了,但似乎不起作用。

  • 问题内容: 我在python中有一个很长的字符串: 但是,由于字符串跨越多行,因此python无法将其识别为字符串。我该如何解决? 问题答案: 做同样的事情。

  • 问题内容: 您如何声明和初始化要在Play2 Scala模板中本地使用的变量? 我有这个: 在模板的顶部声明,但它给了我这个错误: 问题答案: 基本上,您必须包装要使用它的块

  • 问题内容: 我想在Swift中存储一系列弱引用。数组本身不应该是一个弱引用-它的元素应该是。我认为可可对此提供了非类型安全的版本。 问题答案: 创建通用包装,如下所示: 将此类的实例添加到您的数组。 定义时,可以使用或。 另外,为了帮助获取数组内容,您可以按照以下方式进行操作: 上面的用法应替换为-但我不认为当前的Swift语言允许这样定义扩展。

  • 问题内容: 如果我在Swift中需要自定义类型,可以,该怎么办?(类似于闭包语法typedef) 问题答案: 使用关键字代替