小编And*_*ndy的帖子

最有效的方法是使String小写的第一个字符?

制作String小写字母的第一个字符的最有效方法是什么?

我可以想到许多方法来做到这一点:

使用charAt()substring()

String input   = "SomeInputString";
String output  = Character.toLowerCase(input.charAt(0)) +
                   (input.length() > 1 ? input.substring(1) : "");
Run Code Online (Sandbox Code Playgroud)

或者使用char数组

 String input  = "SomeInputString";
 char c[]      = input.toCharArray();
 c[0]          = Character.toLowerCase(c[0]);
 String output = new String(c);
Run Code Online (Sandbox Code Playgroud)

我相信还有很多其他很好的方法可以实现这一目标.您有什么推荐的吗?

java string optimization performance

92
推荐指数
6
解决办法
8万
查看次数

如何知道git存储库是否有未与服务器(源)同步的更改?

我在Git中设置了大量项目,这些项目以前是在CVS中管理的.如果我对尚未发送到中央服务器的存储库进行了更改,那么Tortoise CVS以及Eclipse都很容易看到(通过图标叠加).

有没有一种方便的方法来实现这一点与Git?我真的不需要图标叠加 - 我只需要知道在将我的分支与原始分支进行比较时是否有突出的变化.我不介意使用某种脚本来查询所有的Git回购.

git cvs scripting

12
推荐指数
2
解决办法
4750
查看次数

自定义异常:通过许多子类或使用enum支持的单个类进行区分?

我正在寻找为我Exceptions目前正在进行的项目实现自己的一套.该项目依赖于具有基本框架异常的核心框架MyFrameworkException(我也在编写此框架).

对于任何给定的项目,我想抛出几种不同的类型,Exceptions我无法决定使用多个子类或单个子类与某种形式的Enum构造函数参数.

在这两种情况下我都有:

public class MyFrameworkException   extends Exception              { /*...*/ }
Run Code Online (Sandbox Code Playgroud)

选项1:

public class MyProjectBaseException extends MyFrameworkException   { /*...*/ }
public class SpecificExceptionType1 extends MyProjectBaseException { /*...*/ }
public class SpecificExceptionType1 extends MyProjectBaseException { /*...*/ }
public class SpecificExceptionType1 extends MyProjectBaseException { /*...*/ }
Run Code Online (Sandbox Code Playgroud)

然后,在整个项目中,我会针对发生的任何问题抛出特定的异常.

选项2:

public class MyProjectException extends MyFrameworkException {
  public static enum Type {
    SpecificType1, SpecificType2, SpecificType3
  }
  public MyProjectException( Type type ) { /*...*/ }
}
Run Code Online (Sandbox Code Playgroud)

MyProjectException对于发生的任何问题,我总是会抛出特定的枚举类型.我提供了一些机制,以便可以 …

java exception-handling exception custom-exceptions

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

java.util.Collection具有最低的开销?

我在另一个接受一个java.util.Collection对象的API中调用一个方法.我查看了该方法,它会ArrayList在执行任务之前立即将集合中的所有内容复制到新的中.

这让我想知道:我可以用来快速组装此方法的参数的绝对最低开销Java Collection是什么?

java collections overhead

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

双十六进制字符串和后面

在Java中将double转换为十六进制字符串相当简单.但是我该怎么做呢?我的代码在下面,我已经注意到NumberFormatException抛出的位置(大约2/3rds).

public class HexToDoubleTest {
    public static void main( String args[] ) {

        // This is the starting double value
        double doubleInput = -9.156013e-002;

        // Convert the starting value to the equivalent value in a long
        long doubleAsLong = Double.doubleToRawLongBits( doubleInput );

        // Convert the long to a String
        String doubleAsString = Long.toHexString( doubleAsLong );

        // Print the String
        System.out.println( doubleAsString );

        // Attempt to parse the string back as a long
        // !!! This fails with a …
Run Code Online (Sandbox Code Playgroud)

java string hex data-structures

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

java.util.List实现的测试用例库

可能重复:
是否有Java自定义集合实现的测试套件?

是否有可用的测试用例库,以确保java.util.List正确完成自定义实现?

我当然可以编写我的一个测试用例,但鉴于所有List方法的性质,确保测试是全面的似乎很棘手.

同样,为整个Java集合接口集合提供测试用例也很棒.

java collections unit-testing

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

用于游戏调试引擎的进程间通信C#< - > C++

我正在为游戏的脚本引擎开发一个调试器项目.我希望用C#编写调试器的GUI.然而,实际的调试引擎嵌入在游戏本身中,并且是用C,C++和汇编补丁的混合编写的.

处理调试器GUI和调试引擎之间的通信的最佳方法是什么?这两个将在不同的进程中运行.

谢谢!

安迪

c# c++ ipc

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

为项目定制"运行"任务

默认情况下,我的SBT构建的运行任务执行(自动)中找到的主类src/main/scala/.

如何为项目添加新任务,该项目的行为与运行任务类似,但是找到主类src/util/scala?该任务应该src/main/scala在类路径上运行util main方法.

我正在使用SBT 0.12.4和完整的多项目配置.

scala build sbt

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

扩展Swift中的所有类型?

浏览Swift的库代码我发现:

extension T! : Printable {
  var description: String { get }
}
Run Code Online (Sandbox Code Playgroud)

该代码段似乎使用"description"字段扩展了所有类型.当我尝试在我的代码中执行相同的操作时,我收到错误:

example.swift:10:11:非名义类型'T!' 不能延长

protocol MyProtocol {
  // ...
}

extension T! : MyProtocol { // error: Non-nominal...
  // ...
}
Run Code Online (Sandbox Code Playgroud)

有类似的问题:

但他们未能解决:

  • 这里发生了什么?为什么库代码没问题,但我的代码......不是吗?
  • 是否可以符合特定协议的所有类型或所有类型?

generics swift

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

算术排序解决方案到脑筋急转弯/拼图

您之前可能已经看过订购脑筋急转弯:

在最新一轮的BrainBashers铁人三项赛中,基思排名第四.阿德里安不是最老的,但比邓肯更老,后者不是第二名.接下来是最年轻的孩子,获得第二名.排在第三位的孩子比完成第一名的孩子年龄大.比利比完成第三名的孩子年轻.你能确定谁在哪里完成并按照年龄顺序放置孩子吗?[资源]

我正在寻找一种算法来解决看起来非常类似的问题.

我有一组对象,我想根据将对象相互关联的规则进行排序.对于给定的一组规则,可能存在多个解决方案.在有效的解决方案中,所有规则都得到满足.一组规则也可能没有有效的解决方案.

例:

对象: A, B, C, D, E, and F

规则:

  • C> A.
  • C <D
  • F <C
  • A> F.
  • E> F.
  • D> E.

一种可能的方案:

 F A C E D B
Run Code Online (Sandbox Code Playgroud)

请注意,对象B与任何其他对象无关,因此它在序列中出现的位置无关紧要.

当然这已经做过了.谁能指出我正确的方向?我将最终在Java中执行此排序.

相关问题: Java partially ordered Collection<E>

java sorting algorithm

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

关闭存储在Option []中的资源

我有一个存储在选项中的资源对象.

 private var ochan: Option[Channel] = None
Run Code Online (Sandbox Code Playgroud)

在程序执行期间的某个时刻,ochan设置为Some(channel).我想关闭通道(通过调用方法close)并将选项设置为None一个致命的猛扑.

目前我有:

 def disconnect = ochan = { ochan.foreach{_.close}; None }
Run Code Online (Sandbox Code Playgroud)

以前我曾经:

 def disconnect = ochan = ochan.flatMap{ o => o.close; None }
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

resources scala resource-management

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