Dart-返回字符串,而不是类的实例

时间:2019-03-04 01:56:10

标签: dart

我是Flutter /编程的新手,无法解决此问题,感谢您的帮助。 只是想返回一天的名字,即。 2 =周二

String dayname = dayGetter(day).toString();

  dayGetter(int daynumber){
   var daynames = ['none','Mon','Tue','Wed','Thur','Fri','Sat','Sun'];
   return daynames[daynumber];
  }

这很好用,但是我想将该函数分离到自己的文件中。

String dayname = NumberToDay(daynumber: day).toString();

 class NumberToDay {

      final int daynumber;
      NumberToDay({this.daynumber});

      var daynames = ['n/a','Mon','Tue','Wed','Thur','Fri','Sat','Sun'];

     test(){
       return daynames[daynumber];
      }
 }

但这返回:'NumberToDay'的实例,我不知道为什么或如何解决。

谢谢

2 个答案:

答案 0 :(得分:0)

您缺少对类方法的调用,而是调用了类的toString()方法,该方法的确会打印其实例名称。只需创建对象的实例,然后调用其方法即可。

NumberToDay myObjectInstance = NumberToDay(daynumber: day);
String dayName = myObjectInstance.test();
print(dayName); // should print correctly

如果您想要更直接的方法,则可以在不保留对象引用的情况下调用该方法。

String dayName = NumberToDay(daynumber: day).test();

答案 1 :(得分:0)

工作日: 我看到您已经创建了一个类和方法来管理星期几。 这里已经准备就绪,可以为您提供很多帮助...

https://api.dartlang.org/stable/2.2.0/dart-core/DateTime/weekday.html

获取工作日的前三个字母:

https://api.dartlang.org/stable/2.2.0/dart-core/String/substring.html