我有一个带随机条目的布尔矢量。我用反转方法改变它。一个人使用传统的for循环。另一个使用foreach。
为什么wp_register_script('luna_portfolio', get_template_directory_uri() . '/js/jquery.portfolio.js', 'jquery', true);
wp_localize_script('luna_portfolio', 'lunaAjax', array('ajaxurl'=>admin_url('admin-ajax.php'),'nonce' => wp_create_nonce('ajax-nonce')));
不能用作 function luna_getCols(){
var cols = 1;
var windowWidth = jQuery(window).width();
if(windowWidth>=380 && windowWidth<1160) cols = 3;
else if(windowWidth>=1160 && windowWidth<1640) cols = 4;
else if(windowWidth>=1640 && windowWidth<2100) cols = 5;
else if(windowWidth>=2100) cols = 6;
return cols;
}
?我认为invert2()
中的invert1()
是对向量中b
元素的引用。因此我尝试使用invert2()
作为对象。
boolean
类似于Boolean
,b
是一个循环变量吗?
BooleanVector.java
vector[i].clone()
Main.java
i
输出:
public final class BooleanVector {
private boolean[] vector;
private Stack<boolean[]> undoStack = new Stack<>();
public BooleanVector(final int vectorSize) {
this.vector = new boolean[vectorSize];
//Generates random Array for test purposes
Random random = new Random();
for (int i = 0; i < vector.length; i++) {
vector[i] = random.nextBoolean();
}
}
public void invert1() {
for (int i = 0; i < this.vector.length; i++) {
this.vector[i] = !this.vector[i];
}
}
public void invert2() {
for (Boolean b : vector) {
b = !b;
}
}
public void printVector() {
System.out.println(Arrays.toString(this.vector));
}
}
答案 0 :(得分:1)
在invert1()
中,您正在修改数组值,因此值也会反转。在invert2()
中,您正在更改引用b,因此实际上并未修改列表中的值。