如何从 Dart 的默认构造函数中使用私有实例变量的 setter?
给定示例类:
class A {
String name;
int _age;
int get age => _age;
set age(age) {
_age = age ?? 0;
}
A(this.name, this._age);
}
Run Code Online (Sandbox Code Playgroud)
我如何使用这个构造函数来遍历该set age()函数?除了使用 a 之外还有什么办法factory吗?我想做这样的事情
A(this.name, newAge): age = newAge;
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误,迫使我只从构造函数中设置实例变量,这让我只需复制设置器:
A(this.name, newAge): _age = newAge ?? 0;
Run Code Online (Sandbox Code Playgroud)
我是否遗漏了一些东西,或者这对于 dart 来说是不可能的?
我正在尝试制作一个简单的COBOL程序,以接收用户输入并将其写入.txt文件。我的程序成功创建了一个.txt文件,但是,它无法记录任何输入,对于我来说,我不知道为什么。我希望它反复接收用户输入直到指定不输入,然后将该输入写入文本文件。
这就是我所拥有的:
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT TEST-FILE
ASSIGN TO "C:\Users\Patrick\Desktop\TESTFILE.TXT"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD TEST-FILE.
01 TEST-RECORD PIC X(25).
WORKING-STORAGE SECTION.
01 CONT PIC A(1).
01 TEST-DETAIL.
05 ITEM-NUMBER PIC 9(7).
05 FILLER PIC X(5) VALUE SPACES.
05 ITEM-PRICE PIC 9(4).
PROCEDURE DIVISION.
PROGRAM-CONTROL.
PERFORM OPEN-FILE.
PERFORM GET-RECORD UNTIL CONT = 'N'.
PERFORM CLOSE-OUT-FILE.
STOP RUN.
OPEN-FILE.
OPEN OUTPUT TEST-FILE.
GET-RECORD.
PERFORM PROMPT-USER.
PERFORM WRITE-RECORD.
PERFORM CHECK-NEXT-RECORD.
PROMPT-USER.
DISPLAY 'ENTER PART-NUMBER'.
ACCEPT ITEM-NUMBER. …Run Code Online (Sandbox Code Playgroud) 我需要将 .txt 文件中包含的按钮置于底部居中位置ListView。我所说的底部是指在屏幕的底部,或者如果屏幕内容长于屏幕的高度,则在内容的末尾。
我可以使用小部件来执行此操作,Column因为Spacer高度已定义,但我的屏幕上有文本输入。如果我使用 aColumn而不是 a ListView,则当我打字时屏幕会溢出。
我怎样才能
Column但可防止打字时屏幕调整大小或溢出;我希望它可以滚动,或者只是在打字时让键盘覆盖屏幕内容。基本代码示例:
return Scaffold(
body: Center(
child: Container(
width: workingWidth,
child: Center(
child: ListView(children: <Widget>[
ScreenHeader("Tell Us a Little About Yourself"),
TextFormField(
maxLines: 16,
controller: bioController,
autocorrect: true,
textCapitalization: TextCapitalization.sentences,
maxLength: 500,
decoration: InputDecoration(
contentPadding: EdgeInsets.all(paddingH5),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: colorPrimary)),
border: UnderlineInputBorder(
borderSide: BorderSide(color: colorMuted)),
hintText: "Enter your bio here...",
hintStyle: textMuted,
),
),
Spacer(), //This doesn't work …Run Code Online (Sandbox Code Playgroud) 我有一个通用的ArrayList,其中包含不同类型的数组。我需要遍历内部数组的每个元素并访问它们。但是,由于使用泛型,我不确定如何访问内部数组元素。
从ArrayList的第一个循环获得数组后,如何访问每个元素?
这是我所拥有的简化版本:
public static void main(String[] args) {
ArrayList<Object[]> arrList = new ArrayList<>();
Integer[] a1 = {1,2,3,4};
String[] a2 = {"a", "b", "c"};
Double[] a3 = {4.0, 5.0, 6.0};
arrList.add(a1);
arrList.add(a2);
arrList.add(a3);
printList(arrList);
}
public static <E> void printList(ArrayList<E> arrList) {
for (E arr : arrList) {
for (E elm : arr) {
System.out.println(elm);
}
}
}
Run Code Online (Sandbox Code Playgroud)