java - 为了在 Java 中整合 + 一个条件

标签 java scala

我正在尝试将代码从 Java 转换为 Scala:

class Item {
  public long lng;
  public String str;

  Item(long lng, String str) {
   this.lng = lng;
   this.str = str;
  }
}

Item[] items = getItems(...) //doesn't really matter
int maxCount = getMaxCount()
for(int i = 0; i < maxCount && i < items.length; ++i) {
    System.out.println(String.format("%d %s",items[i].lng, items[i].str));
}

这是我的尝试:

class Item (val lng: Long, val str: String)
val items = Array(new Item(1, "11"), new Item(2, "22"))
val maxCount = getMaxCount
for {
      x <- items
      i <- 0 to maxCount
      if i < maxCount
  } println(x.lng.toString + " " + x.str)

此外,如何在没有 for {...} 的情况下使用 filterWithforeach没有 var?

它打印字符串 maxCount*2 次。

最佳答案

作为类(class)成员,你需要声明你的值(value)观;正如您定义的那样,它们是构造函数参数。在它们前面加上 val 使它们也是类成员:

class Item(val lng: Long, val str: String)

此外,在最后一行中,错误指示 sl 不是 x 的成员。它们的名称是 strlng

据我所知,你根本不需要i

val maxCount: Int = ...
items.take(maxCount).foreach { x => println(s"${x.lng} ${x.str}") }

关于java - 为了在 Java 中整合 + 一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19150114/

相关文章:

Java - 仅在多处理器系统中使用 volatile 才有意义?

java - Tomcat 8 中的类路径和 jar 文件加载顺序

java - JSF Facelets 许可证

带有 Scala 的 Java RMI,这可能吗?

scala - 如何使用 Akka 2.1.2 可视化 Actor 消息流?

scala - 如何在 scala 模板中使用 html helper "options"填充下拉列表( Play 2.0)

Scala 设置哈希码

java - 重新设计MySQL表的主键

java - Hibernate 仅在类为 Final 时才起作用 [否则抛出 SingleTableEntityPersister]

java - 如何从 Netbeans Navigator 窗口中删除 getter 和 setter