首页 文章

在Dart中创建大写方法

提问于
浏览
1

我试图在飞镖中创建一个方法但是遇到了一堵墙 . 我在看.toUpperCase();和.toLowerCase();完成了 . 我想创建的方法是.capitalize();

我想把这个方法称为String hello =“WORLD”.capitalize(); //世界

这是我到目前为止的代码

String capitalize() {
return this.codeUnitAt(0).toUpperCase() + this.substring(1).toLowerCase();
}

运行String时hello =“WORLD”.capitalize();我收到以下错误

[38; 5; 124m [2015-6-4 11:37:13.011]类'String'没有实例方法'大写' . NoSuchMethodError:找不到方法:'capitalize'接收者:“WORLD”参数:[] [0m

我知道我可以调用像 String capitalize(String s) => s[0].toUpperCase() + s.substring(1); 这样的函数但是宁愿保持字符串操作调用相同 .

谢谢,我感谢任何帮助:)

2 回答

  • 0

    您不能像所希望的那样扩展String类 . 只需像这样使用它:

    capitalize("WORLD");
    
  • 3

    是的,不像JS,你不能只改变Dart中的任何类 . 您只能扩展它 . 例如 . 您可以使用 capitalize 方法创建 MyString 类 . 但我不认为你想要它 . 用方法 capitalize 做一些 StringUtils.dart

相关问题