我需要将声明为字节数据类型的值转换为8位的字符串.是否有任何Java库方法可以做到这一点?例如,它应该在-128中输出"10000000".另外,输入-3应该给出"11111101".(我手工转换了这些.)
在您认为这已经多次回答之前,请让我解释为什么我感到困惑.
名称"字节"有点模棱两可.所以,跟随其他答案很难.对于我的问题,byte指的是占用8位且其值范围为-128到127 的java数据类型.我也不是指"字节数组".我的问题是关于仅将单个值转换为其8位表示.而已.
我试过这些:
byte b = -128; //i want 10000000
Integer.toBinaryString(b); //prints 11111111111111111111111110000000
Integer.toString(b, 2); //prints -10000000
Run Code Online (Sandbox Code Playgroud)
如果没有内置方法,你能建议任何方法(可能是位移)吗?
我有一个表X,它有一个自动递增的ID列作为其主键.我有其他表A,B,C和D来补充表X中的信息.每个表都必须包含一个引用表X中的ID的列.我已经完成了这个并且在我的代码(Java)中我有一个将每个条目的ID返回到表X并在插入其他表时使用它的方法.一切都运作良好.
现在,我被建议将表A,B,C和D上的ID列分配为FOREIGN KEYS因为"这是正确的事情".我做到了 现在从表X中删除行需要花费大量时间才能完成.插入其他表也需要更长的时间.
请不要误解我的意思,我知道为什么外键与指定数据库中表的关系有关.但它开始似乎只是仪式而不是实际相关,特别是因为我的交易变得越来越慢.
问题:
1.为了保持关系正式指定而失去一些表现是否值得,即使它没有必要?
2.有什么方法可以加快我的交易速度并保持FOREIGN KEY规格.
谢谢.
答复
以下是表格的创建方式.
CREATE Tables SQL:
CREATE TABLE [dbo].[MainTableX](
[col1] [smalldatetime] ,
[col2] [varchar] (20) ,
[ID] [int] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_MainTableX] PRIMARY KEY CLUSTERED
(
[ID] ASC
)
)
GO
CREATE TABLE [dbo].[RelatedTableA](
[differentID] [varchar] (50),
[detail1] [varchar] (40),
[detail2] [varchar] (40),
CONSTRAINT [PK_RelatedTableA] PRIMARY KEY CLUSTERED
(
[differentID] ASC
)
GO
-- Tables B, C D are pretty much similar to table A
Run Code Online (Sandbox Code Playgroud)
添加外键SQL:
ALTER TABLE RelatedTableA …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的HTML表单:

所有下拉列表都包含相同的列表:Option 1, Option 2, Option 3用户需要为每个键选择一个值.这可以正常工作,不用担心:

但是,我想加强它.无论是Keys和Options List可以成为比较大的(比方说20).预计会有一对一的映射,您无法在两个位置选择值.但是当列表很大时,很容易出错并在两个地方选择相同的值.我们做了一些客户端验证来检查重复项,但我更喜欢通过从其他下拉列表中删除所选选项以使其无法再次选择的用户体验.像这样:

我怎么能这样做?
最终解决方案
我最初选择了Knockout解决方案,但第二个想法,我更喜欢Rick Hitchcock的普通JQuery解决方案,因为我可以轻松地将其插入任何地方而无需任何其他设置.以下是我如何修改Rick的解决方案以使其更具可重用性:
function reducingDropdowns(dropDownSelector){
var $dropdowns = $(dropDownSelector);
$dropdowns.change(function() {
// First enable all options.
$dropdowns.find('option').prop('disabled', false);
// Then for each dropdown, get its current value and
// disable that option in other dropdowns.
$dropdowns.each(function() {
var $currDropdown= $(this);
var currDropdownValue= $currDropdown.val();
if(currDropdownValue !== ''){
var $otherDropdowns = $dropdowns.not($currDropdown);
$otherDropdowns.find('option').each(function() {
var $option = $(this);
var optionIsAlreadySelected = $option.val() === currDropdownValue; …Run Code Online (Sandbox Code Playgroud) byte ×1
database ×1
foreign-keys ×1
html ×1
java ×1
javascript ×1
jquery ×1
knockout.js ×1
primary-key ×1
sql ×1
sql-server ×1