我写了下面的类来讨论Comparable/Serializable接口.
package testpro;
public class SerialTest implements Comparable {
private int circleSize = 10;
private int getCircleSize() {
return circleSize;
}
@Override
public int compareTo(Object o) {
SerialTest object = (SerialTest) o;
if(getCircleSize()>object.getCircleSize()){ // I can access object.getCircleSize() here, but it's private.. why?
return 1;
}
else if(getCircleSize()<object.getCircleSize()){// I can access object.getCircleSize() here, but it's private.. why?
return -1;
}
else{
return 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我将Object o传递给compareTo()方法,但getCircleSize()是私有的.那怎么可能,我有权访问这个?我很确定C++不会放过它.
我正在摆弄RxJava和Schedulers.我使用调度程序实现了一个非常简单的流:
Observable.just(1, 2, 3)
.doOnNext(v -> Thread.currentThread().getName())
.subscribeOn(Schedulers.newThread())
.subscribe(v -> System.out.println(v));
Run Code Online (Sandbox Code Playgroud)
上面的示例在控制台中不打印任何内容.
我注意到,当我使用Thread.sleep()阻塞主线程时,System.out.println会输出正确的值 - 1 2 3:
Observable.just(1, 2, 3)
.doOnNext(v -> Thread.currentThread().getName())
.subscribeOn(Schedulers.newThread())
.subscribe(v -> System.out.println(v));
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
有人能帮我理解这种行为吗?
我使用Visual C++ 2010,我正在尝试使用带有二维数组的free():
#include <stdio.h>
#include <stdlib.h>
#define SIZE 8
int main(){
int **matrix = (int**)malloc(sizeof(int*)*SIZE);
int i;
for(i=0; i<SIZE; i++){
matrix[i] = (int*)malloc(sizeof(int)*SIZE);
}
for(i=0; i<SIZE; i++){
free(matrix[i]);
}
free(matrix);
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我这样做了吗?
问候.
我正在写一个小型控制台应用程序.我不知道出了什么问题......
namespace Mtrx
{
class Mtrx
{
private double[,] _sqMtrx;
private double _mtrxSize { get; set; }
public Mtrx(int i)
{
if (i <= 0)
throw new FormatException();
else
this._sqMtrx = new double[i, i];
_mtrxSize = i;
}
public static Mtrx operator +(Mtrx m1, Mtrx m2)
{
if (m1._mtrxSize == m2._mtrxSize)
{
for (int i = 1; i <= m1._mtrxSize; i++)
{
for (int j = 1; j <= m1._mtrxSize; j++)
{
return m1[i, j] == m1[i, j] + m2[i, …Run Code Online (Sandbox Code Playgroud) 我有一个链表(Tproduct),我想创建一个指向这个的指针数组,例如:
e1 -> e2 -> e3 -> e4 -> e5 -> e6
| | |
v v v
p[0] p[1] p[2]
Run Code Online (Sandbox Code Playgroud)
我的声明如下:
Tproduct *arrayOfPointers = (Tproduct*)malloc(N*sizeof(Tproduct*));
Run Code Online (Sandbox Code Playgroud)
这是对的吗?我不确定它是Tproduct*arrayOfPointers还是Tproduct arrayOfPointers.
问候.
我写了一些简单的接口,我想创建一个全局向量,包含实现接口的类的对象.所以我做了以下事情:
vector<SomeInterface*> ary;
Run Code Online (Sandbox Code Playgroud)
我注释掉整个代码从开:无效main()和矢量元; 现在使用_CrtDumpMemoryLeaks(); 在Visual Studio 2010中,我得到1个块泄露.
怎么解决?
问候.