小编Sop*_*ner的帖子

三元运算符如果运算符在常规内

在Java中,如果我在常规if中使用三元if运算符,例如:

if ((x > y - z) ? true : callLongWaitedMethod(many, parameteres)) {
        loveTeddyBear();
}
Run Code Online (Sandbox Code Playgroud)

如果x > y - z确实如此,它会执行callLongWaitedMethod 吗?我希望它不是,我可以使用这个漂亮的声明,乍一看稍微复杂,但与额外的布尔变量比较更有吸引力:

boolean b = (x > y - z) ? true : callLongWaitedMethod(many, parameteres);
if (b) {
        loveTeddyBear();
}
Run Code Online (Sandbox Code Playgroud)

特别是如果我在一个循环遍历的大循环中使用它,那么从性能的角度来看每次创建布尔值都不会很好,而如果我在循环外声明布尔值,我可能会因为循环的大尺寸.

java if-statement ternary-operator

1
推荐指数
1
解决办法
177
查看次数

对象引用数组

在Java中,让自定义对象o是类型CustomObject.然后CustomObject o2 = o;会做一个参考而不复制的内容oo2.但是这个行为是否仍然适用于一个CustomObjects 数组:

CustomObject[] os = new CustomObject[2];
os[1] = o;
os[2] = o;
Run Code Online (Sandbox Code Playgroud)

os[1]os[2]将被引用或它们将是直接副本o并因此是单独的对象?

java reference object

1
推荐指数
1
解决办法
3809
查看次数

Java 32位系统BitSets的内存大小

如何计算new BitSet(n) C++中的内存.

Java中有什么内存new BitSet(1024).

但似乎Java的公式是不同的.我想计算用于的内存new BitSet(100000),请你帮忙吗?

java memory bitset

1
推荐指数
1
解决办法
1083
查看次数

C++中的int指针数组是否可以作为Java中Integer引用的ArrayList来完成?

我有一个int[] A = new int[100000]Java 数组,我想创建数百万的子数组A.在C++中,我会使用指针数组.我可以创建ArrayList<Integer> subA和存储对元素的引用,A这样我就不会消耗太多内存.目前,我确实创建了int[] subA = new int[some value less than A.length]非常昂贵并且内存不足的对象.

java int arraylist

1
推荐指数
1
解决办法
553
查看次数

C++简单项目中未定义的引用

我正在努力编译不是我的项目.我收到此错误:

[sophie@laptop minit]$ g++ -o minit minit.cpp
/tmp/ccxr5oWl.o: In function `main':
minit.cpp:(.text+0x4e6): undefined reference to `minit::MinitAlgo::MinitAlgo(std::string)'
minit.cpp:(.text+0x66c): undefined reference to `minit::MinitAlgo::~MinitAlgo()'
minit.cpp:(.text+0x6af): undefined reference to `minit::MinitAlgo::~MinitAlgo()'
minit.cpp:(.text+0x6df): undefined reference to `minit::MinitAlgo::~MinitAlgo()'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

主程序如下(我将代码减少到最小可能的情况):

#include <iostream>
#include <sstream>
#include <string>
#include "MinitAlgo.h"

int main(int argc, char * argv[]) {
    std::string fileName = "/home/table.dat";
    minit::MinitAlgo m(fileName);
}
Run Code Online (Sandbox Code Playgroud)

MinitAlgo.h 文件:

#ifndef MINITALGO
#define MINITALGO

#include <string>
#include <vector>

namespace minit {

    class MinitAlgo {
        public:
           MinitAlgo(std::string filename); …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors undefined-reference

0
推荐指数
1
解决办法
146
查看次数

额外数组不占用Java中的内存?

在Java中,为什么这样

int n = 100000;
int[] array = new int[n + n / 2];
int[] arrayzip = new int[n];
System.arraycopy(array, 0, arrayzip, 0, n);
hashmap.put(x, arrayzip);
Run Code Online (Sandbox Code Playgroud)

还有这个

int n = 100000;
int[] array = new int[n + n / 2];
hashmap.put(x, new int[n]);
System.arraycopy(array, 0, hashmap.get(x), 0, n);
Run Code Online (Sandbox Code Playgroud)

拿相同数量的内存?在第一个代码示例中,创建了一个额外的数组.

[编辑]好的,现在第二个问题:

for (int i = 0; i < 100; i++) {
    int n = 100000;
    int[] array = new int[n + n / 2];
    int[] arrayzip = new int[n];
    System.arraycopy(array, …
Run Code Online (Sandbox Code Playgroud)

java memory arrays

-1
推荐指数
1
解决办法
115
查看次数

为什么实现Comparable的对象不是排序的?

我的简单示例(编译的工作代码)只是不按重量对水果进行排序.

import java.util.Arrays;

public class Test {

    public static class Fruit implements Comparable<Fruit> {
        public int weight = 0;
        public Fruit(int w) { weight = w; }
        // compare this fruit to a given fruit f
        public int compareTo(Fruit f) {
            return (weight > f.weight) ? 1 : 0;
        }
    }

    public static void main(String[] args) {

        // get some fruits (we intentionally create a box for 100 fruits)
        Fruit[] fruits = new Fruit[100];
        for (int i = 0; i …
Run Code Online (Sandbox Code Playgroud)

java sorting

-3
推荐指数
1
解决办法
179
查看次数

私有类属性可见

如何private itemset在复制构造函数中显示属性?

import java.util.List;
import java.util.ArrayList;

public class Itemset {

    private List<Integer> itemset = new ArrayList<Integer>();
    private static long count = 0;

    // copy constructor
    public Itemset(final Itemset other) {
        count++;
        this.itemset = other.itemset;
    }
}
Run Code Online (Sandbox Code Playgroud)

java visibility private class

-6
推荐指数
1
解决办法
133
查看次数