我想编写一个将CamelCase转换为人类可读名称的方法.
这是测试用例:
public void testSplitCamelCase() {
assertEquals("lowercase", splitCamelCase("lowercase"));
assertEquals("Class", splitCamelCase("Class"));
assertEquals("My Class", splitCamelCase("MyClass"));
assertEquals("HTML", splitCamelCase("HTML"));
assertEquals("PDF Loader", splitCamelCase("PDFLoader"));
assertEquals("A String", splitCamelCase("AString"));
assertEquals("Simple XML Parser", splitCamelCase("SimpleXMLParser"));
assertEquals("GL 11 Version", splitCamelCase("GL11Version"));
}
Run Code Online (Sandbox Code Playgroud) 我现在使用cProfile但是我觉得编写pstats代码只是为了查询统计数据很繁琐.
我正在寻找一个可视化工具,向我展示我的Python代码在CPU时间和内存分配方面的作用.
Java世界的一些例子是visualvm和JProfiler.
我知道KCachegrind for Linux,但我更喜欢可以在Windows/Mac上运行而无需安装KDE的东西.
图形处理单元(GPGPU)上的通用计算是一种非常有吸引力的概念,可以利用GPU的强大功能进行任何类型的计算.
我喜欢使用GPGPU进行图像处理,粒子和快速几何操作.
现在看来,这个领域的两个竞争者似乎是CUDA和OpenCL.我想知道:
任何真实世界的经验/例子/战争故事都值得赞赏.
Java类通常分为逻辑"块".是否有标记这些部分的约定?理想情况下,它将受到主要IDE的支持.
我个人使用这种方法:
//// Section name here ////
Run Code Online (Sandbox Code Playgroud)
但是,一些编辑似乎对此有疑问.
例如,在Objective-C代码中,您可以使用此方法:
#pragma mark -
#pragma mark Section name here
Run Code Online (Sandbox Code Playgroud)
这将导致XCode中的菜单如下所示:
所以我想创建一个列表,它是一些现有列表的子列表.
例如,
L = [1, 2, 3, 4, 5, 6, 7]
,我想创建一个子列表li
,li
包含L
奇数位置的所有元素.
虽然我可以做到
L = [1, 2, 3, 4, 5, 6, 7]
li = []
count = 0
for i in L:
if count % 2 == 1:
li.append(i)
count += 1
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有其他方法可以有效地以较少的步骤进行相同的操作.
我想编写一个方法,从一个集合中删除遵循某种模式的所有元素.在函数式语言中,我会使用带有lambda表达式的filter().但是,在Java中,似乎我坚持这样:
public void removeAllBlueCars() {
LinkedList<Car> carsToRemove = new LinkedList<Car>();
for (Car c : cars) {
if (c.getCarColor() == Color.BLUE) {
carsToRemove.add(c);
}
}
cars.removeAll(carsToRemove );
}
Run Code Online (Sandbox Code Playgroud)
直接删除元素会导致ConcurrentModificationException.有没有更好的方法来做到这一点,而不诉诸谷歌收藏?
我正在使用不可变对象构建整个应用程序,以便更容易实现多线程和撤消.我正在使用Google Collections Library,它提供了Map,List和Set的不可变版本.
我的应用程序模型看起来像一棵树:
对象图可能如下所示:
Scene
|
+-- Node
|
+-- Node
|
+- Port
+-- Node
|
+- Port
+- Port
Run Code Online (Sandbox Code Playgroud)
如果所有这些对象都是不可变的,则由顶级SceneController对象控制:
更一般地说:
我在Java测试用例中使用了奇怪的Unicode字符串.编译器似乎将该文件解释为iso-8859-1,导致JUnit抱怨.
在Python中,我可以在文件顶部指定编码:
# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)
Java中是否存在等价物?如何检测/指定.java文件的编码?
我正在尝试编写一个可以在Java中使用的Clojure库,而用户不知道它是用Clojure编写的.为此,我需要我的字段有适当的类型:
我喜欢我可以这样做:
(deftype Point [^double x ^double y])
Run Code Online (Sandbox Code Playgroud)
这会为x/y生成一个具有适当类型的类.但是,这似乎只适用于原语,而不适用于类:
(deftype Foo [^String bar])
Run Code Online (Sandbox Code Playgroud)
生成一个:
public final Object bar;
Run Code Online (Sandbox Code Playgroud)
我期待的地方:
public final String bar;
Run Code Online (Sandbox Code Playgroud)
有没有办法约束字段类型?在deftype
/ 之外还有其他选择defrecord
吗?
在Java中,我使用Google Guava 检查我的前提条件:
public Port getPublishedPort(Port port) {
checkArgument(port.isPublishedPort(), "Given port %s is not a published port.", port);
Run Code Online (Sandbox Code Playgroud)
在JavaScript中是否有相同的功能?
java ×7
python ×2
camelcasing ×1
class-design ×1
clojure ×1
collections ×1
comments ×1
cuda ×1
encoding ×1
gpgpu ×1
guava ×1
humanize ×1
immutability ×1
javascript ×1
list ×1
opencl ×1
profiler ×1
profiling ×1
regex ×1
slice ×1
string ×1
unicode ×1