我试图从字符串中获取电子邮件,如:
"*** test@gmail.com&&^ test2@gmail.com((& ";
private static Pattern p = Pattern.compile("(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$)");
Run Code Online (Sandbox Code Playgroud)
上面的代码可以收到一封电子邮件.
我怎么能得到所有?
我使用scala版本: Scala code runner version 2.9.2-unknown-unknown -- Copyright 2002-2011, LAMP/EPFL
我在这里尝试深度大小写匹配构造:http://ofps.oreilly.com/titles/9780596155957/RoundingOutTheEssentials.html,代码如下match-deep.scala:
class Role
case object Manager extends Role
case object Developer extends Role
case class Person(name:String, age: Int, role: Role)
val alice = new Person("Alice", 25, Developer)
val bob = new Person("Bob", 32, Manager)
val charlie = new Person("Charlie", 32, Developer)
for( person <- List(alice, bob, charlie) ) {
person match {
case (id, p @ Person(_, _, Manager)) => println("%s is overpaid".format(p))
case …Run Code Online (Sandbox Code Playgroud) 我们可以使用属性名称找到setter方法名称吗?
我有一个动态生成的 map<propertyName,propertyValue>
通过使用map中的键(这是propertyName),我需要为object调用适当的setter方法并传递map中的值(即propertyValue).
class A {
String name;
String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
}
Run Code Online (Sandbox Code Playgroud)
我的地图包含两个项目:
map<"name","jack">
map<"company","inteld">
Run Code Online (Sandbox Code Playgroud)
现在我正在迭代地图,当我从地图继续处理每个项目时,基于密钥(名称或公司),我需要调用类A的适当的setter方法,例如,对于第一项,我将名称作为键,因此需要调用新的A ().setName.
我想知道在ArrayList或各种List上实现"for-each"循环的最佳方法是什么.
以下哪项实施最好,为什么?或者有最好的方法吗?
谢谢您的帮助.
List values = new ArrayList();
values.add("one");
values.add("two");
values.add("three");
...
//#0
for(String value : values) {
...
}
//#1
for(int i = 0; i < values.size(); i++) {
String value = values.get(i);
...
}
//#2
for(Iterator it = values.iterator(); it.hasNext(); ) {
String value = it.next();
...
}
//#3
Iterator it = values.iterator();
while (it.hasNext()) {
String value = (String) it.next();
...
}
我创建了httpClient并设置了设置
HttpClient client = new HttpClient();
client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
client.getParams().setContentCharset("UTF-8");
Run Code Online (Sandbox Code Playgroud)
第一次请求(获取)
GetMethod first = new GetMethod("http://vk.com");
int returnCode = client.executeMethod(first);
BufferedReader br = null;
String lineResult = "";
if (returnCode == HttpStatus.SC_NOT_IMPLEMENTED) {
System.err.println("The Post method is not implemented by this URI");
// still consume the response body
first.getResponseBodyAsString();
} else {
br = new BufferedReader(new InputStreamReader(first.getResponseBodyAsStream(), Charset.forName("windows-1251")));
String readLine = "";
while (((readLine = br.readLine()) != null)) {
lineResult += readLine;
}
}
Run Code Online (Sandbox Code Playgroud)
回应正确.
第二个请求(帖子):
PostMethod second = new PostMethod("http://login.vk.com/?act=login");
second.setRequestHeader("Referer", …Run Code Online (Sandbox Code Playgroud) 我正在开发旅行管理应用程序.有问题的设计如下:
旅游中的每个人都被指定为旅行者.每位旅行者都有护照.现在,旅行者可以是主会员或子会员,具体取决于他是否是家庭主管.MainMember决定像TourPackage这样的东西,他的旅行家庭的总金额等.一个SubMember在旅行时依赖于MainMember.因此,如果删除了MainMember,则还必须删除其所有子成员.
所以,旅行者有护照.(一对一关系)旅行者是主会员或子会员.(Traveler-MainMember和Traveler-SubMember之间的一对一/一)MainMember可能有几个SubMembers.(一对多)子成员只有一个主要成员.(多到一个)
我目前的ERD如下.

如您所见,三个表 - Traveler,MainMember和SubMember - 形成了循环依赖.不过,我不确定它是否会伤害我的应用程序.如果我删除作为MainMember的Traveler,则1.删除Traveler中的记录.2.删除其相关的MainMember记录.3.删除依赖于MainMember的SubMember记录.4.删除子成员的旅行者记录.
虽然它似乎不是问题,但由于Traveler-MainMember删除将始终只删除Traveler-SubMember(s).不过,我对此感觉不好.
任何人都可以指导我更好的设计吗?
更新 -
在等待回复的同时,我根据@ Daveo的回复提出了另一种设计.基本上,Traveler包含自引用外键.SubMember记录将使用它来识别他们的父母.
这是ERD.

现在,正如@Branko指出的那样,我之前的设计中没有循环依赖问题,我想知道哪种设计更好?
另外,通过Hibernate实现哪种设计会更好?我认为第二种方法可能会在通过Hibernate实现时导致复杂性.
我还要感谢关于您喜欢的设计的实现模式(Hibernate实体中的继承等)的一些指示.
database-design erd circular-dependency hibernate-mapping class-table-inheritance
我想知道维基百科的"你的意思是......"是如何工作的,如果有一种方法,比如使用API,可以使用它吗?因为我想从输入中获取相应的页面,但是这个页面可能包含错误.例子.是否有直接返回建议的查询?
谢谢您的帮助.
使用jQuery,有没有办法区分当前没有哈希和空哈希window.location?
这就是我所说的"空哈希":
http://domain.tld/#
Run Code Online (Sandbox Code Playgroud)
这是"没有哈希":
http://domain.tld/
Run Code Online (Sandbox Code Playgroud) 我有一个要求,我需要识别图像的类型,而不是通过文件扩展名,但通过验证标头.我试图通过幻数验证来验证JPEG文件.
File imgFile =
new File("C:\\Users\\Public\\Pictures\\Sample Pictures\\Chrysanthemum.jpg");
byte[] ba = Files.toByteArray(imgFile); //Its a google guava library
int i = 0;
if(ba [i] == 0xFF && ba[i+1] == 0xD8 && ba[i+2] == 0xFF && ba[i+3] == 0xE0){
System.out.println("isJPEG");
}
Run Code Online (Sandbox Code Playgroud)
但条件并没有让人满意.ba[i] 回报-1.
我究竟做错了什么?