问题列表 - 第4663页

有人可以向我解释在Java中传递"值"而不是"引用"背后的原因是什么?

我是Java的新手(多年来一直在写其他东西),除非我遗漏了一些东西(我很高兴在这里错了)以下是一个致命的缺陷......

String foo = new String();
thisDoesntWork(foo);
System.out.println(foo);//this prints nothing

public static void thisDoesntWork(String foo){
   foo = "howdy";
}
Run Code Online (Sandbox Code Playgroud)

现在,我很清楚(相当差的措辞)概念,在java中,一切都是通过"值"而不是"引用"传递的,但String是一个对象,有各种各样的花里胡哨,所以,人们会期待与int不同,用户可以对传递给方法的东西进行操作(并且不会被overloaded =设置的值所困).

有人可以向我解释这个设计选择背后的原因是什么?正如我所说,我不是想在这里,也许我错过了一些明显的东西?

java pass-by-reference pass-by-value

8
推荐指数
3
解决办法
1275
查看次数

Delphi"with"关键字是一种不好的做法吗?

我一直在阅读关于delphi中with关键字的坏事,但在我看来,如果你不过度使用它.它可以使您的代码看起来很简单.

我经常将所有TClientDataSets和TField都放在TDataModules中.所以在我的表单中我有这样的代码

procedure TMyForm.AddButtonClick(Sender: TObject);
begin  
  with LongNameDataModule do
  begin
     LongNameTable1.Insert;
     LongNameTable1_Field1.Value := "some value";
     LongNameTable1_Field2.Value := LongNameTable2_LongNameField1.Value;
     LongNameTable1_Field3.Value := LongNameTable3_LongNameField1.Value;
     LongNameTable1_Field4.Value := LongNameTable4_LongNameField1.Value;
     LongNameTable1.Post;
  end
end;
Run Code Online (Sandbox Code Playgroud)

如果没有with关键字,我必须编写这样的代码

    procedure TMyForm.AddButtonClick(Sender: TObject);
    begin            
      LongNameDataModule.LongNameTable1.Insert;
      LongNameDataModule.LongNameTable1_LongNameField1.Value := "some value";

      LongNameDataModule.LongNameTable1_LongNameField2.Value :=
               LongNameDataModule.LongNameTable2_LongNameField1.Value;

      LongNameDataModule.LongNameTable1_LongNameField3.Value :=
               LongNameDataModule.LongNameTable3_LongNameField1.Value;

      LongNameDataModule.LongNameTable1_LongNameField4.Value :=
               LongNameDataModule.LongNameTable4_LongNameField1.Value;

      LongNameDataModule.LongNameTable1.Post;
    end;
Run Code Online (Sandbox Code Playgroud)

我认为使用with关键字更容易阅读.

我应该避免使用with关键字吗?

delphi with-statement

34
推荐指数
9
解决办法
1万
查看次数

如何使用空格作为填充字符来形成一个初始化VB.NET控件的字符串

我想用空格填充我的字符串.以下功能适用于除空白以外的所有字符.

myString.PadRight(50,"x")
Run Code Online (Sandbox Code Playgroud)

编辑:

myString.PadRight(50)会填充带有空格的字符串,但是当在以下语句中使用此字符串时,空白填充将消失.

myCheckBox.Text = myString.PadRight(50)
Run Code Online (Sandbox Code Playgroud)

c# vb.net string padding

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

如何在MS-SQL中更新程序集及其相关程序集?

情况就是这样:

我有一个Trigger.dll和一个Trigger.XmlSerializer.dll.

我使用CREATE ASSEMBLY在MSSQL中注册它们.

现在,我已经编译了两者的新版本.

我想使用ALTER ASSEMBLY来更新它们,但是你一次只能更新一个.如果您尝试更新具有依赖关系的那个,它会抱怨.这样做的诀窍是什么?

我不想丢弃并重新创建,因为我必须删除所有触发器等,并且有数据库停机时间.

sql-server sqlclr

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

从JVM内部修改JVM args

有没有办法从jvm里面修改jvm args?具体来说,我希望能够从内部更改jvm的最大堆大小.这可能吗?

编辑:我想我应该添加我想要这样做的原因.我有一些在不同的机器/平台上运行的Java程序.这些程序具有在运行时获取的配置,并且根据程序运行的计算机/环境而不同.其中一些配置可以在运行时更改,并且各种程序会随着配置的更改自动更新.

我希望堆大小成为这些配置参数之一,这些参数在运行时来源,就像配置的其余部分一样.如果是这样,那么程序可以启动(使用一些默认的jvm args)然后根据检索到的配置调整自身.

java jvm vmargs

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

什么是Windows PowerShell?

什么是PowerShell?

我安装了Windows 7,我注意到它有PowerShell.我记得在注册Windows Azure时安装了一段时间,但仅仅因为它是必需的.

超级外行的条款会有什么解释?:)

powershell

25
推荐指数
3
解决办法
3万
查看次数

了解CSS选择器

为什么下面的文字是红色的?

#stories li a {color:red}
.default li.expand a {color:green}
li.expand a {color:blue}
Run Code Online (Sandbox Code Playgroud)
<ul id="stories" class="default">
   <li>this is the end</li>
   <li class="expand">this is the end</li>
Run Code Online (Sandbox Code Playgroud)

只有当我把#stories放在其他文件上时,文本才会改变.#是否有更多的优势,即使它进一步上升到css?!

html css css-selectors

3
推荐指数
2
解决办法
1912
查看次数

如何检查页面是否已加入书签

无需使用ActiveX或其他类型的客户端编码:

是否可以通过他的书签或主页确定网站访问者是否到达页面?

我个人认为这是不可能的,但我想确定或证明是错误的.

我现在这样做的方式是:

Request.UrlReferrer
Run Code Online (Sandbox Code Playgroud)

如果我没有发现任何东西在那里,我目前推断用户有我添加书签.

asp.net web

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

运行没有安装.Net Framework的c#3应用程序?

这似乎是一个愚蠢的问题,但也能在应用与C#3(.NET Framework 3.5的)建立构建和部署到没有安装的3.5框架的机器?即bin部署是否适用于System.Core和其他3.5个dll?

我真的想建立使用lambda表达式,LINQ,Func键等我的应用程序,但我的客户是不允许在他们的计算机上安装的3.0或3.5的框架(他们安装了2.0框架).

deployment frameworks .net-3.5 c#-3.0

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

COM和OLE有什么区别?

COM和OLE有什么区别,如果有的话?

com ole

46
推荐指数
2
解决办法
2万
查看次数