我有一个带有两个属性的自定义字段注释类,如下所示:
public @interface Field {
String type();
int order();
}
Run Code Online (Sandbox Code Playgroud)
我想验证order,它不应该是负值并且不应该重复,例如:
class User {
@Field(uiType = "TEXT", order = 1)
private String fName;
@Field(uiType = "TEXT", order = 2)
private String lName;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我做吗?
我在半年内用PL/SQL编程,我觉得它是一种非常简单的编程语言(恕我直言).虽然我偶然发现了一些有趣的文章,比如这篇文章 - PL/SQL中的设计模式 - 界面注入更加宽松的耦合,我建议阅读.谈到依赖注入,我想念一个特殊功能:将子程序作为参数传递.可能吗?怎么样?
例如,假设我在javascript中有这样的代码:
function tell_me (printer) {
printer ("hello");
}
tell_me (function () {
console.log (word);
});
Run Code Online (Sandbox Code Playgroud)
是否有可能在PL/SQL中做类似的事情?
我被要求确定可以在我的系统上显示的最大的斐波纳契数,我想知道如何做到这一点..
这是我的简单应用程序,它决定了第n个斐波纳契数
import java.util.Scanner;
public class FibonacciTest
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.printf("please enter the nth fibonacci number: ");
int n = input.nextInt();
System.out.printf("%d\n", fibonacci(n));
}// end main
public static int fibonacci(int n)
{
// determines nth fibonacci number
int fib = 1;
int temp = 0;
if (n == 1)
return 0;
else
{
for (int i = 2; i < n; i++)
{
int last = fib;
fib += temp;
temp …Run Code Online (Sandbox Code Playgroud) 我将所有的struts2 jar复制到该WEB-INF/lib文件夹中,struts.xml文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">*
Run Code Online (Sandbox Code Playgroud)
运行应用程序时,我仍然遇到此异常。
我该如何解决?
我有一个1000行的文本文件,格式如下:
19 x 75 Bullnose Architrave/Skirting £1.02
Run Code Online (Sandbox Code Playgroud)
我正在编写一个逐行读取文件的方法 - 这个工作正常.
然后,我想使用"£"作为分隔符拆分每个字符串,并按ArrayList<String>以下格式写出:
19 x 75 Bullnose Architrave/Skirting, Metre, 1.02
Run Code Online (Sandbox Code Playgroud)
这就是我接近它的方式(productList是ArrayList在try块之外声明/实例化):
try{
br = new BufferedReader(new FileReader(aFile));
String inputLine = br.readLine();
String delim = "£";
while (inputLine != null){
String[]halved = inputLine.split(delim, 2);
String lineOut = halved[0] + ", Metre, " + halved[1];//Array out of bounds
productList.add(lineOut);
inputLine = br.readLine();
}
}
Run Code Online (Sandbox Code Playgroud)
字符串没有分裂,我一直在得到ArrayIndexOutOfBoundsException.我对正则表达式不太熟悉.我也试过使用旧的StringTokenizer但得到相同的结果.
£作为一个delim 存在问题还是其他问题?我确实想知道这是否与第二个令牌没有被读作是有关系的String?
任何想法都会有所帮助.
对单元测试和模拟非常新,我有一个方法来测试它在新对象上调用方法。我怎样才能模拟内部对象?
methodToTest(input){
...
OtherObject oo = new OtherObject();
...
myresult = dosomething_with_input;
...
return myresult + oo.methodX();
}
Run Code Online (Sandbox Code Playgroud)
我可以模拟 oo 返回“abc”吗?我真的只想测试我的代码,但是当我模拟“methodToTest”返回“42abc”时,我不会测试我的“dosomething_with_input”代码......
我们正在使用Mock-Factory为我们的开发人员提供关于模拟功能的最大舒适度,以及对mockito本身不太可能需要的专业知识.
为此,我们的Mock-Factory提供了一个方法来创建一个模拟给定类名,方法名(通过regexp)和给定的返回值,它看起来如下(清楚这个问题的相关部分) ):
public <T> T getMockForMethod(Class<T> clazz, String methodName, Object methodResponse)
{
T mockForMethod = mock(clazz);
for (Method m : clazz.getDeclaredMethods ())
{
if (m.getName ().matches (methodName) &&
m.getReturnType ().isAssignableFrom (methodResponse.getClass ()))
{
try
{
Class<?>[] paramTypes = m.getParameterTypes ();
Object[] params = new Object[paramTypes.length];
for (Object o : params)
{
o = Mockito.anyObject ();
}
Mockito.when (m.invoke (mockForService, params)).thenReturn (methodResponse);
}
catch (IllegalArgumentException e)
{
e.printStackTrace (System.err);
}
catch (IllegalAccessException e)
{
e.printStackTrace (System.err);
}
catch (InvocationTargetException e) …Run Code Online (Sandbox Code Playgroud) 在线Java文档中,我发现了以下示例:
public void addName(String name) {
synchronized(this) {
lastName = name;
nameCount++;
}
nameList.add(name);
}
Run Code Online (Sandbox Code Playgroud)
他们说:
如果没有synchronized语句,则必须有一个单独的,不同步的方法,仅用于调用
nameList.add.
有人明白他们的意思吗?
来源可以在这里找到.
我将 twitter 4j 用于一个小型 twitter 应用程序,我目前正在使用以下代码来获取关注者 ID,我需要的是一个用户(让我说我)我喜欢拥有最多关注者数量的前 10 个用户(以下代码获取用户的 profileID)。在我的 Twitter 个人资料中,我有 80 个关注者,我喜欢获取拥有更多关注者的关注者(前 10 个)
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET);
String accessToken = getSavedAccessToken();
String accessTokenSecret = getSavedAccessTokenSecret();
AccessToken oathAccessToken = new AccessToken(accessToken, accessTokenSecret);
twitter.setOAuthAccessToken(oathAccessToken);
User user = null;
try {
user = twitter.showUser(username);// id = user.getId();
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用since_id通过Twitter搜索api获取推文。下面是我的代码,在这里我正在创建一个查询对象的地图,因为ID。我默认将since ID设置为0,而我的目标是每次运行查询时都要更新since ID。这样,当我下次运行查询时,它不会得到相同的推文,而应从上一条推文开始。
import java.io.{PrintWriter, StringWriter}
import java.util.Properties
import com.google.common.io.Resources
import twitter4j._
import scala.collection.JavaConversions._
// reference: http://bcomposes.com/2013/02/09/using-twitter4j-with-scala-to-access-streaming-tweets/
object Util {
val props = Resources.getResource("twitter4j.props").openStream()
val properties = new Properties()
properties.load(props)
val config = new twitter4j.conf.ConfigurationBuilder()
.setDebugEnabled(properties.getProperty("debug").toBoolean)
.setOAuthConsumerKey(properties.getProperty("consumerKey"))
.setOAuthConsumerSecret(properties.getProperty("consumerSecret"))
.setOAuthAccessToken(properties.getProperty("accessToken"))
.setOAuthAccessTokenSecret(properties.getProperty("accessTokenSecret"))
val tempKeys =List("Yahoo","Bloomberg","Messi", "JPM Chase","Facebook")
val sinceIDmap : scala.collection.mutable.Map[String, Long] = collection.mutable.Map(tempKeys map { ix => s"$ix" -> 0.toLong } : _*)
//val tweetsMap: scala.collection.mutable.Map[String, String]
val configBuild = (config.build())
val MAX_TWEET=100
getTweets()
def getTweets(): Unit ={
sinceIDmap.keys.foreach((TickerId) => getTweets(TickerId)) …Run Code Online (Sandbox Code Playgroud)