Why am I getting “Static method cannot be referenced from a non static context: String...

Why am I getting "Static method cannot be referenced from a non static context: String String.valueOf(Object)"?

Is a distribution that is normal, but highly skewed, considered Gaussian?

Is dried pee considered dirt?

Is there a reasonable and studied concept of reduction between regular languages?

Can this note be analyzed as a non-chord tone?

Can I board the first leg of the flight without having final country's visa?

IC has pull-down resistors on SMBus lines?

Can I calculate next year's exemptions based on this year's refund/amount owed?

Is it ok to trim down a tube patch?

Expectation in a stochastic differential equation

Film where the government was corrupt with aliens, people sent to kill aliens are given rigged visors not showing the right aliens

Is there a difference between "Fahrstuhl" and "Aufzug"?

Is French Guiana a (hard) EU border?

Reference request: Grassmannian and Plucker coordinates in type B, C, D

What CSS properties can the br tag have?

Why don't programming languages automatically manage the synchronous/asynchronous problem?

How to use ReplaceAll on an expression that contains a rule

Could a dragon use its wings to swim?

Help! I cannot understand this game’s notations!

Can you teleport closer to a creature you are Frightened of?

Reshaping json / reparing json inside shell script (remove trailing comma)

What difference does it make using sed with/without whitespaces?

Inexact numbers as keys in Association?

What is the difference between "hamstring tendon" and "common hamstring tendon"?



Why am I getting “Static method cannot be referenced from a non static context: String String.valueOf(Object)”?



The Next CEO of Stack Overflow
2019 Community Moderator ElectionNon static method cannot be referenced from a static context: Integer Date.dayOfYear()Static method able to be called/executed from class instantiated from type.newInstance() with interface. Expected?Static method cannot be referenced from a non static context: List<String>Can only initialize a map within context of a function? ( can't initialize within constructor too)Save Error in Test Class for @InvocableMethod: Static method cannot be referenced from a non static contextStatic method cannot be referenced from a non static context in testclassStatic method cannot be referenced from a non static context: System.Pattern System.Pattern.compile(String)Non static method cannot be referenced from a static contextStatic method cannot be referenced from a non static context (PageReference)Use void Apex method in Lightning Web Component












1















I have this static class called from my lightning component, but am getting the error




"Static method cannot be referenced from a non static context: String String.valueOf(Object)"




on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



@AuraEnabled
public static void generatePDF(myRec__c rec, string selquarter){
string selqenddate = selquarter.substringBetween('(', ')');
date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
myPDF(rec.id, '', '');
}









share|improve this question





























    1















    I have this static class called from my lightning component, but am getting the error




    "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




    on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



    @AuraEnabled
    public static void generatePDF(myRec__c rec, string selquarter){
    string selqenddate = selquarter.substringBetween('(', ')');
    date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
    myPDF(rec.id, '', '');
    }









    share|improve this question



























      1












      1








      1








      I have this static class called from my lightning component, but am getting the error




      "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




      on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



      @AuraEnabled
      public static void generatePDF(myRec__c rec, string selquarter){
      string selqenddate = selquarter.substringBetween('(', ')');
      date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
      myPDF(rec.id, '', '');
      }









      share|improve this question
















      I have this static class called from my lightning component, but am getting the error




      "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




      on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



      @AuraEnabled
      public static void generatePDF(myRec__c rec, string selquarter){
      string selqenddate = selquarter.substringBetween('(', ')');
      date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
      myPDF(rec.id, '', '');
      }






      apex parameters static






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 4 hours ago









      Jayant Das

      17.4k21330




      17.4k21330










      asked 4 hours ago









      IreneIrene

      5052418




      5052418






















          2 Answers
          2






          active

          oldest

          votes


















          4














          The string class's valueOf() method is a static method.



          Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



          What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



          bad:



          selqenddate.valueOf(selqenddate)


          good:



          String.valueOf(selqenddate)


          Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



          Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






          share|improve this answer































            1














            As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



            You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



            Date startdate = 
            (Date.valueOf(selqenddate))
            .addMonths(-3)
            .toStartOfMonth();


            Note, there’s no property startOfMonth on Date class.






            share|improve this answer
























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "459"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255997%2fwhy-am-i-getting-static-method-cannot-be-referenced-from-a-non-static-context%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              The string class's valueOf() method is a static method.



              Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



              What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



              bad:



              selqenddate.valueOf(selqenddate)


              good:



              String.valueOf(selqenddate)


              Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



              Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






              share|improve this answer




























                4














                The string class's valueOf() method is a static method.



                Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                bad:



                selqenddate.valueOf(selqenddate)


                good:



                String.valueOf(selqenddate)


                Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






                share|improve this answer


























                  4












                  4








                  4







                  The string class's valueOf() method is a static method.



                  Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                  What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                  bad:



                  selqenddate.valueOf(selqenddate)


                  good:



                  String.valueOf(selqenddate)


                  Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                  Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






                  share|improve this answer













                  The string class's valueOf() method is a static method.



                  Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                  What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                  bad:



                  selqenddate.valueOf(selqenddate)


                  good:



                  String.valueOf(selqenddate)


                  Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                  Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 4 hours ago









                  Derek FDerek F

                  20.8k52353




                  20.8k52353

























                      1














                      As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                      You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                      Date startdate = 
                      (Date.valueOf(selqenddate))
                      .addMonths(-3)
                      .toStartOfMonth();


                      Note, there’s no property startOfMonth on Date class.






                      share|improve this answer




























                        1














                        As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                        You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                        Date startdate = 
                        (Date.valueOf(selqenddate))
                        .addMonths(-3)
                        .toStartOfMonth();


                        Note, there’s no property startOfMonth on Date class.






                        share|improve this answer


























                          1












                          1








                          1







                          As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                          You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                          Date startdate = 
                          (Date.valueOf(selqenddate))
                          .addMonths(-3)
                          .toStartOfMonth();


                          Note, there’s no property startOfMonth on Date class.






                          share|improve this answer













                          As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                          You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                          Date startdate = 
                          (Date.valueOf(selqenddate))
                          .addMonths(-3)
                          .toStartOfMonth();


                          Note, there’s no property startOfMonth on Date class.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 4 hours ago









                          Jayant DasJayant Das

                          17.4k21330




                          17.4k21330






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Salesforce Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255997%2fwhy-am-i-getting-static-method-cannot-be-referenced-from-a-non-static-context%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Couldn't open a raw socket. Error: Permission denied (13) (nmap)Is it possible to run networking commands...

                              VNC viewer RFB protocol error: bad desktop size 0x0I Cannot Type the Key 'd' (lowercase) in VNC Viewer...

                              Why not use the yoke to control yaw, as well as pitch and roll? Announcing the arrival of...