制作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)
我相信还有很多其他很好的方法可以实现这一目标.您有什么推荐的吗?
我在Git中设置了大量项目,这些项目以前是在CVS中管理的.如果我对尚未发送到中央服务器的存储库进行了更改,那么Tortoise CVS以及Eclipse都很容易看到(通过图标叠加).
有没有一种方便的方法来实现这一点与Git?我真的不需要图标叠加 - 我只需要知道在将我的分支与原始分支进行比较时是否有突出的变化.我不介意使用某种脚本来查询所有的Git回购.
我正在寻找为我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.util.Collection
对象的API中调用一个方法.我查看了该方法,它会ArrayList
在执行任务之前立即将集合中的所有内容复制到新的中.
这让我想知道:我可以用来快速组装此方法的参数的绝对最低开销Java Collection是什么?
在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自定义集合实现的测试套件?
是否有可用的测试用例库,以确保java.util.List
正确完成自定义实现?
我当然可以编写我的一个测试用例,但鉴于所有List
方法的性质,确保测试是全面的似乎很棘手.
同样,为整个Java集合接口集合提供测试用例也很棒.
我正在为游戏的脚本引擎开发一个调试器项目.我希望用C#编写调试器的GUI.然而,实际的调试引擎嵌入在游戏本身中,并且是用C,C++和汇编补丁的混合编写的.
处理调试器GUI和调试引擎之间的通信的最佳方法是什么?这两个将在不同的进程中运行.
谢谢!
安迪
默认情况下,我的SBT构建的运行任务执行(自动)中找到的主类src/main/scala/
.
如何为项目添加新任务,该项目的行为与运行任务类似,但是找到主类src/util/scala
?该任务应该src/main/scala
在类路径上运行util main方法.
我正在使用SBT 0.12.4和完整的多项目配置.
浏览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)
有类似的问题:
但他们未能解决:
您之前可能已经看过订购脑筋急转弯:
在最新一轮的BrainBashers铁人三项赛中,基思排名第四.阿德里安不是最老的,但比邓肯更老,后者不是第二名.接下来是最年轻的孩子,获得第二名.排在第三位的孩子比完成第一名的孩子年龄大.比利比完成第三名的孩子年轻.你能确定谁在哪里完成并按照年龄顺序放置孩子吗?[资源]
我正在寻找一种算法来解决看起来非常类似的问题.
我有一组对象,我想根据将对象相互关联的规则进行排序.对于给定的一组规则,可能存在多个解决方案.在有效的解决方案中,所有规则都得到满足.一组规则也可能没有有效的解决方案.
例:
对象: A, B, C, D, E, and F
规则:
一种可能的方案:
F A C E D B
Run Code Online (Sandbox Code Playgroud)
请注意,对象B与任何其他对象无关,因此它在序列中出现的位置无关紧要.
当然这已经做过了.谁能指出我正确的方向?我将最终在Java中执行此排序.
我有一个存储在选项中的资源对象.
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)
有一个更好的方法吗?