小编Sou*_*tes的帖子

错误:URI的目标不存在:'package:test/test.dart'

自从最新的颤动更新以来,我的测试被打破了.看起来Dart测试框架不再可用了:

error: Target of URI doesn't exist: 'package:test/test.dart'. 
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-test

11
推荐指数
1
解决办法
1400
查看次数

Dart - const 构造函数:使用函数初始化类成员

我想使用相同的函数初始化几个最终成员变量。不幸的是,dart 不允许在 const 构造函数的初始化列表中调用函数:

int fun(int val) => val + 1;

class Foo {
  final int a;
  final int b;
  final int c;
  const Foo(int a, int b, int c)
      : a = fun(a),  <-- this won't compile because 
        b = fun(b),  <-- the constructor
        c = fun(c);  <-- is const
}
Run Code Online (Sandbox Code Playgroud)

我绝对需要构造函数是一个常量表达式(为了保持与现有第三方库代码的兼容性)。我能想到的唯一解决方法是重复将整个函数体复制并粘贴到初始值设定项列表中。我已经在一些 flutter 库中看到过这种反模式。但我还是宁愿避免它。有人知道更干净的解决方案吗?

dart

5
推荐指数
1
解决办法
1999
查看次数

Java 编译器如何处理 StringBuilder(a + b + c + d)?

我正在处理一个包含大量遗留代码的应用程序。我经常看到的是在 StringBuilder 参数中使用“+”进行字符串连接。
例子:

StringBuilder sb = new StringBuilder("This "
        + "looks "
        + "rather "
        + "weird "
        + "to "
        + "me.") 
Run Code Online (Sandbox Code Playgroud)

据我所知,编译器用 StringBuilder().append() 替换了使用 + 运算符的字符串连接。
恐怕现在编译器会创建一个临时的 StringBuilder 来执行连接,然后转换为 String() 并将结果插入现有的 StringBuilder。

我的问题是:编译器是否能够优化嵌套的 StringBuilder?如果不是,我应该重写代码以节省几个 CPU 周期吗?它显然是有效的,但每当我看着它时它都会伤害我的眼睛。

感谢您的任何见解!

java stringbuilder

1
推荐指数
1
解决办法
57
查看次数

标签 统计

dart ×2

flutter ×1

flutter-test ×1

java ×1

stringbuilder ×1