这个是一个快速的:
cookie名称和值中允许的字符是什么?它们与URL或某些常见子集相同吗?
我要问的原因是,我最近发现了一些奇怪的行为,其中包含-
名称中的cookie,我只是想知道它是否是浏览器特定的,或者我的代码是否有问题.
我有这样的枚举:
public enum Configuration {
XML(1),
XSLT(10),
TXT(100),
HTML(2),
DB(20);
private final int id;
private Configuration(int id) {
this.id = id;
}
public int getId() { return id; }
}
Run Code Online (Sandbox Code Playgroud)
有时我需要检查枚举中有多少个字段.什么是最好的解决方案?我应该使用方法"values().length"吗?或许,我必须在枚举中创建常量字段,如下所示:
public enum Configuration {
XML(1),
XSLT(10),
TXT(100),
HTML(2),
DB(20);
private final int id;
private Configuration(int id) {
this.id = id;
}
public int getId() { return id; }
public static final int Size = 5;
}
Run Code Online (Sandbox Code Playgroud)
什么是最快,更优雅的解决方案?
我最近一直在努力学习更多,并且通常测试Java的工作和个人项目的序列化,我必须说我越了解它,我就越不喜欢它.这可能是由错误的信息造成的,所以这就是为什么我要问你们这两件事:
1:在字节级别,序列化如何知道如何将序列化值与某些类匹配?
我在这里的一个问题是我用ArrayList进行了一个小测试,其中包含值"one","two","three".在序列化之后,字节数组占用了78个字节,这对于如此少量的信息(19 + 3 + 3 + 4字节)来说似乎非常多.当然,这肯定会有一些开销,但这导致了我的第二个问题:
2:序列化可以被认为是持久化对象的好方法吗?现在很明显,如果我使用一些自制的XML格式,持久性数据将是这样的
<object>
<class="java.util.ArrayList">
<!-- Object array inside Arraylist is called elementData -->
<field name="elementData">
<value>One</value>
<value>Two</value>
<value>Three</value>
</field>
</object>
Run Code Online (Sandbox Code Playgroud)
与XML一般来说,它有点膨胀,占用138个字节(没有空格,即).JSON中也是如此
{
"java.util.ArrayList": {
"elementData": [
"one",
"two",
"three"
]
}
}
Run Code Online (Sandbox Code Playgroud)
这是75字节所以已经比Java的序列化略小.使用这些基于文本的格式,显然必须有一种方法可以将基本数据表示为文本,数字或两者的任意组合.
那么回顾一下,序列化如何在字节/位级别上工作,何时应该使用以及何时不应该使用序列化以及序列化的真正好处除了它是Java的标准之外?
这个问题的动机是我最近开始看到的有点过于if..else if..else
结构的东西.虽然它很简单并且有其用途,但它的一些东西不断告诉我它可以用更精细,优雅和通常更容易保持最新的东西代替.
为了尽可能具体,这就是我的意思:
if (i == 1) {
doOne();
} else if (i == 2) {
doTwo();
} else if (i == 3) {
doThree();
} else {
doNone();
}
Run Code Online (Sandbox Code Playgroud)
我可以想到两种简单的方法来重写它,或者通过三元(这只是编写相同结构的另一种方式):
(i == 1) ? doOne() :
(i == 2) ? doTwo() :
(i == 3) ? doThree() : doNone();
Run Code Online (Sandbox Code Playgroud)
或使用Map(在Java中,我认为在C#中)或字典或任何其他K/V结构,如下所示:
public interface IFunctor() {
void call();
}
public class OneFunctor implemets IFunctor() {
void call() {
ref.doOne();
}
}
/* etc. */
Map<Integer, IFunctor> methods = new …
Run Code Online (Sandbox Code Playgroud) 有没有办法在javascript中为数组分配默认值?
例如: an array with 24 slots that defaults to 0
IE10在HTML5合规区域有一些很棒的增强功能,但在WP8上运行时仍然是开发JavaScript HTML5的熊,因为除了控制台消息之外无法调试应用程序.
是否有可用的像WebKit的浏览器的手机有WP8运行IE10远程调试经验(见我在视频http://www.youtube.com/watch?v=GNAjzFpNEj4为例).当使用USB线到桌面Safari调试时,IOS上的Javascript应用很容易,因为可以设置断点并在远程调试器中检查变量.我希望IE10中具有相同的功能,并希望获得有关在何处启用这些非常需要的功能的任何信息.
我有一个字符串,表示法语区域的日期:09-oct-08:
我需要解析那个String,所以我想出了这个SimpleDateFormat:
String format2 = "dd-MMM-yy";
Run Code Online (Sandbox Code Playgroud)
但是我对月份部分有一个问题,似乎预计会有一个结束点:
df2.format(new Date());
Run Code Online (Sandbox Code Playgroud)
给我 :
28-oct.-09
Run Code Online (Sandbox Code Playgroud)
现在什么是让我理解SimpleDateFormat("09-oct-08")的最好方法?
完整代码:
String format2 = "dd-MMM-yy";
DateFormat df2 = new SimpleDateFormat(format2,Locale.FRENCH);
date = df2.parse("09-oct-08");
Run Code Online (Sandbox Code Playgroud)
这给了我:java.text.ParseException:Unparseable date:"09-oct-08"
如果我然后尝试记录:
df2.format(new Date());
Run Code Online (Sandbox Code Playgroud)
我明白了:28-oct.-09
我最近开始创建自己的注释并运行TDD/BDD,我想要对我的注释进行单元测试,为它们创建一个清晰的规范.然而,由于注释基本上只是花哨的界面,据我所知,这些界面无法直接实例化,是否有任何方法缺乏反映单元测试注释?
我有一个POJO使用服务来做某事:
public class PlainOldJavaObject {
private IService service;
public String publicMethod(String x) {
return doCallService(x);
}
public String doCallService(String x) {
if(service == null) {
throw new RuntimeException("Service must not be null");
}
return service.callX(x);
}
public interface IService {
String callX(Object o);
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个Groovy测试用例:
class GTest extends GroovyTestCase {
def testInjectedMockIFace() {
def pojo = new PlainOldJavaObject( service: { callX: "very groovy" } as IService )
assert "very groovy" == pojo.publicMethod("arg")
}
def testMetaClass() {
def pojo = …
Run Code Online (Sandbox Code Playgroud) groovy unit-testing programming-languages dynamic-languages mocking
向下滚动以查看最新的编辑,我在此留下所有这些文本,以便我不会使此问题到目前为止收到的回复无效!
我有以下的脑筋急转弯我希望得到一个解决方案,我试图解决这个问题,但是因为我在数学上没有那么高于平均水平(也就是说,我认为我非常接近平均水平)我可以'似乎把我的头围住了.
的问题:给定数目x
应拆分到的系列multipliers
,其中每个multiplier <= y
,y
是像10或16或任何一个常数.在系列(技术上array of integers
)中,应该添加最后一个数字而不是相乘以能够将乘数转换回原始数字.
作为一个例子,让我们假设x=29
和y=10
.在这种情况下,预期的数组将是{10,2,9}
有意义的10*2+9
.但是,如果y=5
它是{5,5,4}
意义5*5+4
或者是否y=3
,它将是{3,3,3,2}
那样的3*3*3+2
.
我尝试通过这样做来解决这个问题:
x >= y
,存储y
到multipliers
,然后x = x - y
x < y
,存储x
到multipliers
显然这不起作用,我也尝试分别存储"剩余"部分,并在其他所有内容之后添加,但这也不起作用.我认为我的主要问题是我试图以过于复杂的方式思考这个问题,而解决方案显而易见且简单明了.
重申一下,这些是此算法应具有的限制:
虽然我使用Java做这个,但我宁愿将任何可能的代码示例作为伪代码,我特别不想轻易做出答案,我只需要一个轻推(好吧,更多的强力踢)以便我可以解决这至少部分是我自己.提前致谢.
为了避免一些混乱,我想我应该改写一下:
x=1 000 000,y=100 …
java ×4
javascript ×2
algorithm ×1
annotations ×1
arrays ×1
bdd ×1
cookies ×1
date-format ×1
enums ×1
groovy ×1
locale ×1
mocking ×1
tdd ×1
unit-testing ×1