说我有自己的课
public class MyObj { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
它有一些属性和方法.它不实现equals,不实现hashCode.
一旦我们调用equals和hashCode,默认实现是什么?来自Object类?他们是什么?默认等于如何工作?默认的hashCode如何工作以及返回什么?==只会检查它们是否引用同一个对象,所以这很容易,但是equals()和hashCode()方法呢?
我需要对Microsoft SQL Server 2008进行逆向工程以创建Microsoft Visio 2007数据库模型图.所以我从Database菜单中选择"Reverse Engineer"来连接数据库.
我配置了Microsoft SQL Server Visio驱动程序,以便使用SQL Server Native Client 10.0作为ODBC驱动程序.之后我创建了一个连接到我的数据库的用户DSN.此DSN有效(至少提供的测试成功).在反向工程向导中单击下一步后,Visio请求我正确提供的凭据,但单击确定后,我收到以下消息:
当前选定的Visio驱动程序与数据源不兼容.
我尝试使用旧的SQL Server ODBC驱动程序,当然还要重新配置Visio驱动程序.它也不起作用.
如果我有一个函数,在该函数中我声明:
Object arr[] = new Object[20];
Run Code Online (Sandbox Code Playgroud)
arr和整个数组存储在哪里?堆?堆?声明是在某个函数中还是在main()中是否重要?
并且假设我也有这些命令行:
arr[0] = new String("abc");
arr[1] = new List();
Run Code Online (Sandbox Code Playgroud)
哪里arr[0]
和arr[1]
存储?
我们有两个分类堆和堆栈.创建对象时,对象的内存存储在堆中.如果类具有静态方法,可以使用类名调用该怎么办.如果没有创建对象,那么它将如何分配内存,如果它在哪里分配内存?
这是一个简单的程序,只需打开一个AWT.我使用eclipse,我得到上面显示的frame.show(); Eclipse正在用一条线穿过"show".我想要这个程序只需显示一个300px乘300px的框架窗口.下面是完整的代码:
Frame frame = new Frame("Hello World");
// ...
frame.show();
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个Data
类,其对象每个都拥有唯一的ID.
我希望第一个对象的ID为1,第二个为2,等等.我必须使用a static int
,但所有对象都具有相同的ID,而不是1,2,3 ......
这是Data
班级:
class Data
{
private:
static int ID;
public:
Data(){
ID++;
}
};
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做,所以第一个ID将是1,第二个将是2,等等.?
我有一个Eclipse RCP应用程序,有三种列布局:
编辑区位于最右侧.现在,当你开始IPageLayout
使用时,编辑器区域已经被添加.没关系:我们在编辑器的左边添加区域B,在B的左边添加区域A,布局正是我们需要的.
问题是,当您在A和B之间移动窗框时,视图A和B会在不调整编辑区域大小的情况下发生变化(好;)但是当您在B和编辑区域之间移动另一个窗框时,所有三个视图都会调整大小; 布局管理器用于保持A和B宽度的比例,这不是我们想要的.我们希望用户能够独立移动每个窗格,并使其仅影响它接触的两个视图.
看起来这样做的根本原因是当你得到你的编辑器时,编辑器已就位IPageView
,因此你必须将IFolderLayout
s相对于它定位.如果您可以相对于B定位编辑器,那么调整大小会做正确的事情.
所以我的问题:
IPageView
编辑器相对于视图的位置,而不是相反?我已经制作了一个自定义的"Coordinate"数据结构,它根据某个系统定义了一个对象的位置.
坐标定义如下:
public class Coordinate
{
public int X;
public int Y;
private int face;
public int Face
{
get { return face; }
set
{
if (value >= 6 | value < 0)
throw new Exception("Invalid face number");
else
face = value;
}
}
private int shell;
public int Shell
{
get { return shell; }
set
{
if (value < 0)
throw new Exception("No negative shell value allowed");
else
shell = value;
}
}
public Coordinate(int face, int …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在android应用程序的代码块上编写一个Android测试用例.该代码块将与数据库(sqlcipher库函数)特定的dbopen()函数进行交互.运行应用程序时,它工作正常.当我们尝试为该代码块执行测试用例时(涉及数据库交互).它给出以下错误:java.lang.UnsatisfiedLinkError:dbopen
可以看看这个并提出建议.
测试用例无权调用调用sqlcipher库函数的函数.是否需要任何权限,或者此类测试用例是否有任何特定的过程?
完整错误日志:
04-30 12:08:33.997: I/TestRunner(2169): started: teststateMachine(com.americanlogistics.mdd.rhapsody.view.test.SigninViewsateMachineTest)
04-30 12:08:34.147: W/dalvikvm(2169): No implementation found for native Linfo/guardianproject/database/sqlcipher/SQLiteDatabase;.dbopen (Ljava/lang/String;I)V
04-30 12:08:34.164: I/TestRunner(2169): failed: teststateMachine(com.americanlogistics.mdd.rhapsody.view.test.SigninViewsateMachineTest)
04-30 12:08:34.164: I/TestRunner(2169): ----- begin exception -----
04-30 12:08:34.184: I/TestRunner(2169): java.lang.UnsatisfiedLinkError: dbopen
04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.dbopen(Native Method)
04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.<init>(SQLiteDatabase.java:1870)
04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:863)
04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:897)
04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107)
04-30 12:08:34.184: I/TestRunner(2169): at com.americanlogistics.mdd.rhapsody.database.SendQueueDBAdapter.open(SendQueueDBAdapter.java:45)
04-30 12:08:34.184: I/TestRunner(2169): at com.americanlogistics.mdd.rhapsody.database.SendQueueDBAdapter.databaseHelperInstance(SendQueueDBAdapter.java:38)
04-30 12:08:34.184: I/TestRunner(2169): at com.americanlogistics.mdd.rhapsody.common.ApplicationController.startDatabase(ApplicationController.java:530)
04-30 12:08:34.184: I/TestRunner(2169): …
Run Code Online (Sandbox Code Playgroud) 在Java中,使用以下函数为巨大的矩阵X打印其列不同的元素:
// create the list of distinct values
List<Integer> values = new ArrayList<Integer>();
// X is n * m int[][] matrix
for (int j = 0, x; j < m; j++) {
values.clear();
for (int i = 0; i < n; i++) {
x = X[i][j];
if (values.contains(x)) continue;
System.out.println(x);
values.add(x);
}
}
Run Code Online (Sandbox Code Playgroud)
首先,我按列(索引j)和内部按行(索引i)进行迭代.
对于不同的矩阵,此函数将被调用数百万次,因此应优化代码以满足性能要求.我想知道值数组.使用values = new ArrayList<Integer>();
或values = null
替代它会更快values.clear()
吗?