我确实检查了其他问题; 这个问题的重点是以最有效的方式解决这个特定问题.
有时您希望创建一个具有指定长度的新字符串,并使用填充整个字符串的默认字符.
也就是说,如果你可以new String(10, '*')从那里创建一个新的字符串会很酷,长度为10个字符都有*.
因为这样的构造函数不存在,并且您无法从String扩展,所以您要么创建一个包装类,要么为您执行此方法.
此刻我正在使用这个:
protected String getStringWithLengthAndFilledWithCharacter(int length, char charToFill) {
char[] array = new char[length];
int pos = 0;
while (pos < length) {
array[pos] = charToFill;
pos++;
}
return new String(array);
}
Run Code Online (Sandbox Code Playgroud)
它仍然没有任何检查(即,当长度为0时,它将不起作用).我首先构造数组,因为我相信它比使用字符串连接或使用StringBuffer更快.
其他人有更好的解决方案吗?
到目前为止,我还没有找到明确答案.
我想知道使用PreparedStatement对SQL类型DATETIME和java类型的等价物.
我发现:http://www.java2s.com/Code/Java/Database-SQL-JDBC/StandardSQLDataTypeswithTheirJavaEquivalents.htm
但是它声明SQL类型"DATETIME"与sql.date相同,但在查看SQL date docs时(http://download.oracle.com/javase/7/docs/api/java/sql/Date. html),它说时间被截断(全为零).
我想要的是能够指定一种preparedStatement.setDateTime()或某种类型.
我看到的唯一另一种方法是使用时间戳,但这需要我更改列类型,而我无法想象以前其他人从未遇到过这个问题?
任何提示?
编辑:我正在使用MYSQL.
最近我与一位同事就单元测试进行了一次有趣的讨论.当合同发生变化时,我们正在讨论何时维持单元测试的效率降低.
也许任何人都可以告诉我如何解决这个问题.让我详细说明:
所以我们假设有一个类可以做一些漂亮的计算.合同说它应该计算一个数字,或者当它由于某种原因失败时返回-1.
我有合同测试谁测试.在我所有的其他测试中,我将这个漂亮的计算器存在.
所以现在我改变了契约,只要它无法计算就会抛出一个CannotCalculateException.
我的合同测试将失败,我将相应地修复它们.但是,我所有的模拟/存根对象仍将使用旧的合同规则.这些测试将成功,而他们不应该!
提出的问题是,凭借对单元测试的这种信念,可以对这些变化有多少信心......单元测试成功,但在测试应用程序时会出现错误.使用这个计算器的测试需要修复,这需要花费时间,甚至可能很多时候被抄袭/嘲笑......
你觉得这个案子怎么样?我从来没有想过它.在我看来,单元测试的这些变化是可以接受的.如果我不使用单元测试,我也会在测试阶段(测试人员)看到这样的错误.然而,我没有足够的信心指出什么会花费更多的时间(或更少).
有什么想法吗?
基本上,我想知道是否有一个方便的类或方法来过滤不需要的字符串.方法的输出应该是'clean'字符串.即:
String dirtyString = "This contains spaces which are not allowed"
String result = cleaner.getCleanedString(dirtyString);
Run Code Online (Sandbox Code Playgroud)
期待结果将是:
"Thiscontainsspaceswhicharenotallowed"
Run Code Online (Sandbox Code Playgroud)
一个更好的例子:
String reallyDirty = " this*is#a*&very_dirty&String"
String result = cleaner.getCleanedString(dirtyString);
Run Code Online (Sandbox Code Playgroud)
我希望结果如下:
"thisisaverydirtyString"
Run Code Online (Sandbox Code Playgroud)
因为,我让清洁工知道'','*','#','&'和'_'是脏字符.我可以通过使用白色/黑色列表字符来解决它.但我不想重新发明轮子.
我想知道是否已经存在可以使用正则表达式"清理"字符串的事情.而不是自己写这个.
另外:如果你认为清洁字符串可以不同/更好地完成,那么我当然也都是耳朵
另外一个补充: - 它不仅适用于空间,也适用于任何类型的角色.
知道线程何时进入wait状态是否有任何简洁的解决方案?当我需要它时wait,我正在为notify它们提供线程.但有时候我想知道线程当前是否在等待,如果是,我必须做其他事情.
我可能会自己设置一个标志为true/false.但我无法想象还有更好的方法吗?
我正在开发一个基于玉兰的网站.我正在使用webapp原型来创建一个新的Web应用程序.使用命令行,我能够生成一个WAR并将其部署在我的容器(Tomcat)中.我然后运行它,它工作正常.
我的下一步是将我的项目结构导入IntelliJ.IntelliJ认为一切都很好,并且能够编译所有内容.我先测试了maven clean,然后让IntelliJ完成其余的工作(重建项目).
最后一步是让它在我的容器中运行.我之前为网络应用设置了运行配置(他们不使用战争叠加),他们工作得很好.在这种情况下,我像以前一样设置它并指向我的爆炸webapp工件.
一旦我运行tomcat,它就找不到我的webapp.我发现覆盖层还没有合并到项目的目标目录中(通常就是在进行maven安装时).然而,IntellJ在我的项目中创建了一个覆盖目录,并在那里解压缩(overlay/super)WAR文件.
当我自己进行maven安装时,我得到它的工作,然后在IntelliJ中运行Tomcat.这是显而易见的,因为现在所有需要的文件都在我的目标目录中(例如web.xml):).
我想要的是: - IntelliJ知道当它运行Tomcat时,它应该像"mvn install"或"mvn package"那样准备目标目录.
它的作用: - 它介于两者之间.它确实创建了一个目标目录,它确实从webapp项目中复制资源.它不会覆盖任何WAR依赖项,因此webapp目标目录不完整.
任何人有任何解决这个问题的技巧?
我正在使用Spring 3.0.4.我有一些在地图上使用@Autowired注释的bean.这些映射在application-context.xml文件中定义(因为这些映射是使用多个工厂方法构造的).
当我使用我的调试器时,我可以看到使用正确的(预期的)bean id构建映射.但是,一旦自动装配过程开始,它声称它找不到具有刚刚创建的id的bean.
一段代码:
@Autowired
@Qualifier("dienstverbandMap")
private Map<String, String> dienstverbandMap;
Run Code Online (Sandbox Code Playgroud)
一段上下文xml:
<bean class="java.util.HashMap" id="dienstverbandMap" factory-bean="someFactoryMethod" factory-method="getMappedMap"/>
Run Code Online (Sandbox Code Playgroud)
重要的细节,当我在我的类和上下文xml中将类型更改为java.lang.Object时,它确实已经连接了实际上,我可以将其转换为代码中的HashMap并使一切正常工作.但这显然不是我想要的.
有人解释我做错了吗?
我正在撰写关于测量产品质量的论文.本案例中的产品是一个网站.我已经确定了几个质量属性和测量技术.
一个质量属性是"健壮性".我想以某种方式向我保证,但我找不到任何有用的信息如何以客观的方式做到这一点.
是否存在可以确保稳健性的静态或动态指标?即,就像单元测试覆盖一样,有没有一种方法可以确保这样的稳健性?如果是这样,是否有任何(免费)工具可以做这样的事情?
有没有人有这种工具的经验?
最后但并非最不重要的是,也许还有其他方法可以确定稳健性,如果您有任何想法,我会全神贯注.
非常感谢提前.
我想从表中删除某些记录.这些记录在其他表中有一些子记录.
为了能够删除主记录,我必须先删除子记录.
以下是使用的HQL示例:
delete from ItineraryBooking ib where ib.booking.user.id = :paramId
Run Code Online (Sandbox Code Playgroud)
基本上,这应该删除所有ItineraryBookings(单独表中的记录),这些都加入到Booking表中.可以使用User表连接Booking表.
奇怪的是,当您将上述内容更改为:
from ItineraryBooking ib where ib.booking.user.id = :paramId
Run Code Online (Sandbox Code Playgroud)
并执行Query.list(),它会正常工作.
每当我想执行delete变体时,看起来Hibernate会生成一个奇怪的删除语句.我的HQL错了吗?还是Hibernate的怪癖?
我有一份清单.该列表可以包含相同枚举类型的多个项目.
可以说我有一个枚举:TOY具有值:BALL,DOLL,PLAYSTATION.我想知道PLAYSTATION具有类型的列表中有多少项TOY.(即List<Toy>玩具)
什么是最好的解决方案?我不想每次都在列表中进行迭代.
我有一个UIViewController,它使用UIScrollView,在Scrollview中它有一个UIImageView.
我想识别相应的捏合和缩放.我不需要缩放,我只需要显示不同的图像.
它几乎看起来像这个问题:UIView UIPinchGestureRecognizer问题
我尝试了几件事:
将contentMode设置为 UIViewContentModeScaleAspectFit
组 multipleTouchEnabled = YES
组 userInteractionEnabled = YES
然而,它仍然不总能抓住捏合事件.
以下是我将手势分配给视图的方式,非常简单:
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(zoomPinch:)];
[MediaScroller addGestureRecognizer:pinchRecognizer];
[pinchRecognizer release];
Run Code Online (Sandbox Code Playgroud)
另外,我注意到scrollViewDidEndZooming我的委托调用了,但scale变量总是1.0.怎么可能?
该scrollViewDidEndZooming总是被调用,而掐法(zoomPinch)并不总是叫.出现这种情况的原因是什么?我该如何解决?:)
我试着通过在StackOverflow上查找几个问题来自己回答这个问题.虽然我认为我理解正确,但我无法解决这个问题.其中,给我留下了唯一明显的观察结果:我仍然没有得到它.
我已经在这篇文章的底部总结了一些问题,其间的一切都是我收集的信息和这个问题的背景.
所以,我知道当你有一个基类和一个派生类时,你的解构函数应该在基类中标记为虚拟.允许多态.
但是,我似乎无法让我的代码进行编译,或者当它编译时,它不会因为"未定义的引用"而链接.我一直在来回变换,但我似乎永远不会摆脱这个循环.
基本上我有一个interace,定义如下:
#ifndef GUIELEMENT_H_
#define GUIELEMENT_H_
class GuiElement {
public:
virtual ~GuiElement();
virtual void draw() = 0;
};
#endif /* GUIELEMENT_H_ */
Run Code Online (Sandbox Code Playgroud)
我有几个从此延伸的对象.一个简单的关系是GuiWindow(直接来自GuiElement):
#ifndef CGUIWINDOW_H_
#define CGUIWINDOW_H_
#include <assert.h>
#include <cstddef>
#include "../GuiElement.h"
#include "../GuiInteractionDelegate.h"
class GuiWindow : public GuiElement {
public:
GuiWindow(GuiInteractionDelegate * guiInteractionDelegate) {
assert(guiInteractionDelegate);
interactionDelegate = guiInteractionDelegate;
}
~GuiWindow() {
//delete interactionDelegate;
}
// called each frame, delegates its behavior to the given concrete cGuiWindowDelegate class.
void interact() {
interactionDelegate->interact(this);
}
private:
GuiInteractionDelegate * …Run Code Online (Sandbox Code Playgroud) java ×8
c++ ×1
collections ×1
datetime ×1
enums ×1
gesture ×1
hibernate ×1
hql ×1
inheritance ×1
ios ×1
jdbc ×1
list ×1
magnolia ×1
maven ×1
mysql ×1
objective-c ×1
overlay ×1
regex ×1
robustness ×1
spring ×1
sql ×1
string ×1
tomcat ×1
unit-testing ×1
virtual ×1