Java 布尔引用
我正在处理包含4个布尔特征的Java 布尔引用,java,arrays,boolean,Java,Arrays,Boolean,我正在处理包含4个布尔特征的txt文件的行。我想将一个布尔[]传递给一个方法,该方法引用它来自哪一行(哪一行是由该行上的另一个增量变量定义的,只是不一定是有序的) 有没有办法创建一个数组,某种形式的数组,引用line变量,然后引用该行的4个布尔值 如果不是直接的,我可以使用0和1分别表示false和true,例如数组[I][0]=0然后在接收方法中将其转换为布尔值: boolean charone = (array[i][0] == 1) ? true : false; 编辑:特征表示线上的坐
txt
文件的行。我想将一个布尔[]传递给一个方法,该方法引用它来自哪一行(哪一行是由该行上的另一个增量变量定义的,只是不一定是有序的)
有没有办法创建一个数组,某种形式的数组,引用line变量,然后引用该行的4个布尔值
如果不是直接的,我可以使用0和1分别表示false和true,例如数组[I][0]=0
然后在接收方法中将其转换为布尔值:
boolean charone = (array[i][0] == 1) ? true : false;
编辑:特征表示线上的坐标是否处于整个txt
文件所描述符号的最大值
Pattern patternx = Pattern.compile("(?<=(<))((-)*?(\\d+))(?=(,))");
Pattern patterny = Pattern.compile("(?<=(,))((-)*?(\\d+))(?=(>))");
for(String pin : pins){
boolean sidemax = false;
boolean sidemin = false;
boolean top = false;
boolean bottom = false;
int i = Integer.parseInt(pin.split(" ")[1]);
Matcher matcherx = patternx.matcher(pin);
Matcher matchery = patterny.matcher(pin);
while (matcherx.find()){
String numb = matcherx.group(0);
int x = Integer.parseInt(numb);
if (x >= maxx) {
sidemax = true;
}
if (x <= minx){
sidemin = true;
}
}
while (matchery.find()){
String numb = matchery.group(0);
int y = Integer.parseInt(numb);
if (y >= maxy) {
top = true;
}
if (y <= miny) {
bottom = true;
}
}
patternx=Pattern.compile((?Java是一种面向对象的语言。创建类来表示数据:
public class Line {
private int lineNumber;
private boolean value1;
private boolean value2;
private boolean value3;
private boolean value4;
// constructor, getters, other potential useful methods omitted
}
读取文件时,创建上述Line
类的实例,并将这些实例传递给需要4个布尔值和它们来自的行号的方法。您可以共享一个txt文件示例吗这会有帮助..映射键是Line变量且列表是4个布尔特征它不是c李尔:你在寻找什么。请考虑改进这个问题。“西科尔斯基,是的,非常感谢。”西科尔斯基请把它作为回答者,需要在接收方法中读出每一行的布尔值,这样,为每行创建对象是不切实际的,每行都被读取,然后调用该方法,因此我不能创建一个新的Obj.在阅读下一行之前,对每一行进行ect并关闭。为什么你不能这样做?为什么这是不切实际的?为什么创建一个数组是可行的,但不是一个行的实例?我尝试过,一些txt
文件>100000行,为每一行创建对象会遇到内存问题。数组也是类。它们显然是有用的y也会消耗内存。创建数组或创建Line实例不会改变内存消耗方面的任何内容。该类甚至可以使用更少的内存,因为它将使用布尔值而不是整数,并且不会有不需要的长度属性。顺便说一句,100000行算不了什么。拥有10行数据不应该消耗超过4 MB的内存内存中有0000行实例。我刚刚测量过。它使用的内存小于2MB。