不确定我的标题是否正确。我根据类的数据类型创建一个变量。我列出了一些示例,如下所示。
我创建了3个课程:
我是Java新手,想学习。
Testing.java
package test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
public class testing {
private static Entity ent;
public static void main(String[] args)
{
ent.setStart(1);
ent.setBegin(2);
Entity entity = ent.setStart(start); # My question is in this part
List<String> sentences = new ArrayList<String>(Arrays.asList("I have a thing", "I have nothing"));
List<String> context = sentences.subList(0,sentences.size() - 1);
String target = sentences.get(sentences.size() -1 );
}
}
Sentence.java
package test;
import java.util.List;
public class Sentence {
private List<Entity> entities;
public List<Entity> getEntities() {
return entities;
}
public void setEntities(List<Entity> entities) {
this.entities = entities;
}
}
Entity.java
package test;
public class Entity {
private Integer begin;
private Integer start;
public Integer getBegin() {
return begin;
}
public void setBegin(Integer begin) {
this.begin = begin;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
}
我不知道如何为实体创建变量。我一直在尝试,但是行不通。
我还想知道为什么不应该将Entity.java和Sentence.java导入Testing.java?我以为我们必须导入它才能使用它?某种程度上,它无需使用导入即可工作。
答案 0 :(得分:1)
我还想知道为什么不应该将Entity.java和Sentence.java导入Testing.java中?我以为我们必须导入才能使用它?
您只需要导入其他软件包中的内容。您的东西全都放在名为test
的软件包中,因此您无需导入它。
关于问题本身。您可能会收到NullPointerException
,因为您没有初始化静态变量ent
在main
方法的第一行中,您应该像这样初始化它:
ent = new Entity();
这部分也根本没有任何意义:
Entity entity = ent.setStart(start);
ent.setStart(start)
返回void而不是Entity
。
总而言之,类似这样的东西至少应该是可编译的:
public static void main(String[] args) {
ent = new Entity();
ent.setStart(1);
ent.setBegin(2);
int start = 0;
ent.setStart(start);
List<String> sentences = new ArrayList<String>(Arrays.asList("I have a thing", "I have nothing"));
List<String> context = sentences.subList(0,sentences.size() - 1);
String target = sentences.get(sentences.size() -1 );
}